Disney Tests Pricing Power at Theme Parks - <AUTHOR> https://www.wsj.com/articles/disney-tests-pricing-power-at-theme-parks-1529331115 <comment><USER2> This will be successful, I guarantee it.

I have a colleague who uses 100% of her vacation days (25 days/year) to travel to Disneyland/World. When she goes for 2 weeks, she is in the park every one of those days. There's apparently one night a year where the park is open 24 hours and she'll fly down from Calgary to Anaheim just for that day. She talks about all the other people she knows that are just like her. There are thousands of families that spend all their vacation time in the park and therefore, I'm sure there are plenty of people willing to pay $300 for early access so they can brag that they were one of the lucky ones.

<comment><USER3> i.. don't understand that at all. Never having actually been to Disney, how can you justify that time justification vs exploring Venice or Seoul or machuu picchu or...

<comment><USER4> Disney World is a magical place. Not everyone wants or has the means to leave the country but going to Disney you still get that feeling of being somewhere else. It transports you into a whole different world. You don't even need kids to enjoy all the wonders of the parks. While for me I would love to explore the world and plan on doing so with some of my future vacations I can see where some people would hazard their limited time off to going to a place they know they can enjoy and be transported out of their every day stresses.

<comment><USER5> Also I would challenge you to find a place that gives you better service.

</comment></comment></comment></comment><comment><USER6> I've felt that Disneyland/world and other theme parks (e.g., Europa-park) were overpriced to begin with, but if they believe that other people are willing to put up with airline style pricing and other forms of price setting - well, power to them, I guess.

<comment><USER7> When we saw two hour queues for popular rides I always wondered why they didn't increase their prices.

<comment><USER8> Why would they, if people are willing to wait in them?

If a 1% price increase causes any more than 1% fewer people in the park, then it's a net loss.

Not to mention that many people go and don't really ride the "big rides" that much or ever.

<comment><USER9> I think a lot of people don't go because of the lines and crowds.

<comment><USER8> I'm sure they don't, but from a business point of view, those people really don't matter.

Like I said, if they were to reduce the number of people in the park by say 50%, that means that everyone would have to pay double in admission to maintain the same income. A 3-day park ticket is already almost $400. Do you really think enough people would be willing to pay $800 for a 3-day ticket to offset the number that wouldn't be willing to pay that? And would that extra cost of admission reduce the amount those people spend on souvenirs, food, events/shows, etc...? And would a 50% reduction in guests really make it "feel" any less crowded? (the distribution of people in the park is far from "normal")

I'm going to side with Disney on this one. I assume the big mouse has done extensive studying in this area, and they are probably pretty close to matching what the market will handle.

Not to mention that they are trying other methods to reduce crowds and wait times. They now allow you to schedule your rides during 1-hour time slots to avoid waiting for up to 3 rides a day (our last trip we didn't wait more than 15 minutes for any ride because my wife was able to schedule them for the whole trip). And there are options for some customers to get a cast member to go with them all day and basically skip all lines for a few $1000 if you want.

</comment></comment></comment></comment></comment><comment><USER9> I wish they'd sell a non rider pass. I hate all the rides but I'd like to be able to walk around a bit and maybe grab dinner.

<comment><USER10> So there is/was an after 4pm Epcot pass you could buy for a discount which kind of suits this need. Makes sense especially for people coming into town on conference/work business.

</comment></comment><comment><USER11> As the economic stratification of society accelerates, you will see more and more of this. The ability to charge a price that only a small fraction of the potential market will pay will deliver outsized profits as long as you can charge more, proportionally, than you lose in market share.

We are rapidly remaking America as a place where all segments of culture and entertainment operate for the rich and merely wealthy.

<comment><USER12> Andy Warhol famously spoke about Coke:

"What's great about this country is that America started the tradition where the richest consumers buy essentially the same things as the poorest. You can be watching TV and see Coca-Cola, and you know that the President drinks Coke, Liz Taylor drinks Coke, and just think, you can drink Coke, too. A Coke is a Coke and no amount of money can get you a better Coke than the one the bum on the corner is drinking. All the Cokes are the same and all the Cokes are good. Liz Taylor knows it, the President knows it, the bum knows it, and you know it."

It's sad to see that something as quintessentially American as Disney is going the opposite way.

<comment><USER13> Thanks for the quote! However I think it's more about Coke being a consumable and arguably a commodity... and not entertainment. I'm pretty sure there will always be people priced out of premium entertainment experiences precisely because you cannot bottle it up.

<comment><USER14> _> Thanks for the quote! However I think it's more about Coke being a consumable and arguably a commodity... and not entertainment._

America commoditised entertainment through technology. The radio and the gramophone allowed a farmer in rural Maine to listen to the Metropolitan Opera in their own home. Movie theaters brought the greatest actors in America to every small town. The egalitarian nature of popular culture stands as one of the greatest defences of consumer capitalism. A reversal of that trend points to a fundamental and worrying change in society.

<comment><USER15> The commoditization you describe though is for entertainment forms that can be incrementally replicated at little to no cost. In that regard, entertainment is more commoditized than ever with things like streaming music and video services.

Arguably, there's more VIP-style pricing discrimination than there used to be for in-person entertainment. It's probably easier with online booking. But good concert seats or opera tickets were never particularly cheap.

<comment><USER13> Exactly the point I was trying to make but I did not articulate it as well as you have, thanks!

I would say 'premium' entertainment cannot be displaced by time and space.

</comment></comment></comment></comment></comment></comment><comment><USER16> [https://outline.com/FmnVuN](https://outline.com/FmnVuN)

</comment><comment><USER17> What a fancy way to say "Raises Prices"

<comment><USER18> It's more complicated than that, though. Disney is more than willing to raise prices, but this is something a bit different.

</comment></comment><comment><USER19> Non paywalled link:

[http://znews24.com/disney-tests-pricing-power-at-theme- parks...](http://znews24.com/disney-tests-pricing-power-at-theme-parks/)

<comment><USER20> It seems this website reproduces the article but automatically replaces the original words with synonyms. A clever workaround, but I wonder how legal is that.

<comment><USER21> That explains it!

> Disney parks executives are engaged on adopting a dynamic pricing mannequin

</comment></comment></comment><comment><USER22> semi-of-topic: I have never seen the appeal of the theme-parks, especially with exorbitant pricing…</comment>


Cybertruck Behind the Scenes – They DID Test the Window - <AUTHOR> https://toolandgadget.com/tesla-cybertruck-they-did-actually-test-it/ <comment><USER2> If it was in fact the same vehicle's glass, it's certainly plausible that the glass had weakened and likely even already micro fractures after the test run.</comment>


Think Fruit: Apple Parody Hidden Inside GTA IV  - <AUTHOR> http://blog.wired.com/gadgets/2008/05/apple-parody-hi.html <comment><USER2> They've got a linux parody in there as well.. it's something like www.eunuchs.com .. I'll see if I can find it.

The thing I love about GTA4 is that the entire game is just one giant parody. It's great! :)

</comment><comment><USER3> The Fruit OS has been mentioned before in the GTA series, in a radio debate between Bill and Steve...

[http://en.wikipedia.org/wiki/Grand_Theft_Auto:_Liberty_City_...](http://en.wikipedia.org/wiki/Grand_Theft_Auto:_Liberty_City_Stories_soundtrack#LCFR)

</comment><comment><USER4> They should have tossed in a reference to the Banana Jr. 6000!

</comment><comment><USER5> This is hot off the wire: a Windows-centric gaming company that gets kickbacks from MS for deploying to their platform has _made fun of Apple Inc._ This may terrify some people, but please try to control your _shock_ and _disbelief_.

<comment><USER6> So the first comment in the actual article is someone howling that GTA4 was made on Windows by Windows fanatics who hate Apple, and now the first comment on Hacker News is the same thing.

Is this some sort of ingrained reflex?

(Also, I can't assume you've played any of the GTA series, but if you do you will note that everything -- EVERYTHING IN THE WORLD -- comes in for heavy- handed cynical satire. The game's humor is not biased at all, just completely nihilistic and venomous.)

<comment><USER5> It wasn't an attack on Rock Star's games. I'm a big fan of them (People who know me are quite familiar with my infamous, "Operation: Boat In A Crowded Street".

It shouldn't be a surprise that they make fun of Apple, the have no financial fears from doing so they way they would MS. It's basically non-news, the same ho-hum jokes we've all seen before. I was disappointed it made it to the front page.</comment></comment></comment>


Ask HN: Unable to detach emotionally from work? - <AUTHOR> I really care about my work and I'm having a hard time taking a more relaxed approach after a few incidents at the workplace.
I don't work well in agile environments with strict tasks and sprints because I'm all over the place doing project work but also fixing a lot of small things that pile up (and nobody cares to fix).
Lately, I've been asked why I'm working on these things when there are other things to do. there are always other things to do.
Attemtps to communicate with other teams to sync and improve processes were also shutdown... because it's not my responsibility and the team leads felt threatened.
Anyway, I told my boss I'd strictly  work on my Sprint tasks and not making a single extra contribution (in these exact words).
Fast forward a few weeks, here I'm again doing more than I've been asked and getting passive-aggressive responses.
I can't quit this job right now. How do I care less? <comment><USER2> Focus on being "good at your job" not at "making everything better" or whatever you're doing now.

What you think of as doing extra work also ends up causing extra work for other people. You say "Attemtps to communicate with other teams to sync and improve processes were also shutdown... because it's not my responsibility and the team leads felt threatened" \- it's almost certainly not that your team lead "felt threatened" (wtf?) but because you caused an extra hassle for them by causing confusion among your coworkers about the processes and practices for communication, documentation or decision-making.

Your time spent "fixing a lot of small things" that nobody cares about means other people have to code review, QA test, merge, deploy etc your work, which as you stated, was not scheduled/prioritized/desired.

An important part of being a team is playing your role, which includes not interfering with other people doing theirs. You see yourself as an unappreciated hero picking up the slack for everyone else, but everyone else sees you as an unpredictable wildcard causing confusion and extra work. Just focus on doing your job well and let the whole team thrive.

<comment><AUTHOR> _> What you think of as doing extra work also ends up causing extra work for other people_

This is a very good point but none of the things you mentioned are happening to other people (code review, QA, merge, deploy). Maybe that clarifies the kind of environment I'm working with.

In any case, I understand that even if more work is not being done, more stress is being caused because people just assume things will break in unimaginable ways. I can appreciate how that would be a problem for others.

 _> everyone else sees you as an unpredictable wildcard causing confusion and extra work_

Thanks for the harsh truth. Would you say the kind of work I'm doing has a place in any other type of company? Or at all?

</comment></comment><comment><USER3> Anecdotal(worked for me and a friend):

Find another activity (hobby, sports, taking care of someone, meditation, side-project, anything) and gradually have it replace work in your head.

You won't be able to "detach from work" because the mind (especially in people who like to think) doesn't work this way. You'll have to expel it/push it out.

Any time you catch yourself thinking about work in an emotional way, or outside your office hours, force yourself to shut it down and think about the other activity you chose as replacement.

This process took me years but it's really been worth the effort.

<comment><AUTHOR> That seems like the best action for me. Thanks!

</comment></comment><comment><USER4> Don't do extra things. Let the sprints guide you. Try to make your code better. The place doesn't want you to do these cleanup tasks without them being approved in a sprint. So next sprint meeting suggest it and only do it if it gets approved.

<comment><AUTHOR> I feel the planning done by management doesn't let me feel proud about the work I'm doing. That's the emotional component I'm struggling with.

I've been told the things I raise as necessary to be done "will be done in the future" but they never are and I'm not given good reasons for why not. Most of the time it's because people don't consider them important (see my other comment for examples).

So I kind of rebel against that in a way and, while I think my output is better, I'm not appreciated for that and worse, might get reprimanded.

</comment></comment><comment><USER5> You need to first understand why you are getting passive-aggressive responses. Just because you think you are doing "other things that no one cares about", it doesn't mean it aligns with what your Manager/Team/Company needs from you to ensure you are effective at the job you were hired for.

Superstars in a team are easy to spot. They not only get their stuff done but do other things that help the bottomline. Problem is that sometimes you may think you are helping the team by doing other things, but you are probably doing it at the cost of your own work.

</comment><comment><USER6> You are being micro-managed, it's worth comparing your current work environment to what you were told it would be like when you hired on.

If there is a large difference between the position description and reality then you may be able to push back with the hiring manager so that you are given more autonomy to prioritize tasks during sprints.

Ideally your management should be asking you to first do items in set X and then giving you time to work on tasks that you prioritize.

This is why I prefer Kanban over Scrum as Kanban doesn't limit the set of tasks per sprint as Scrum does.

<comment><AUTHOR> It's funny that you mention that because we used to do Kanban and switched to Scrum because that was what all other teams were doing, and "it helps with the reports".

I think I see a lot of tech debt and I want to solve it. I'll admit there are situations where I'm purely being extra zealous and I shouldn't and I'm trying to work on that.

I agree with the micro-management part too. If at least we were aligned and I was micro-managed for doing things management and I agree on, it wouldn't feel so bad. But the way things are right now, I feel like I might get fired for doing extra work, which is a first for me.

<comment><USER7> I don't necessarily think you're being micromanaged, but I can tell you I dislike agile and one of the reasons for that is because despite what people say, it's segmented as shit and typically prevents you from doing good work.

And when I say it prevents you from doing good work, I mean it. The last company I was at did scrum and I found it difficult to even call someone up to have a chat about things without blowback. My "PM", aka manager, insisted that he was a requirements gathering bot, and any attempt at requirements gathering that didn't go through him was promptly shut down. And by shut down I mean 2 weeks into the job I had a meeting with someone about a new feature and 15 minutes into it this "PM" magically shows up and completely derails the conversation. nothing got done. The next day I recieve an email from the manager of the person I had the meeting with declaring that all meetings going forward would have her in it. When I questioned why with my manager I was quietly pulled off of that project, and I watched the other developer on it come back from every single meeting over the next 2-3 months repeatedly saying he still had no idea what they wanted.

It was like trying to develop in a straight jacket. The final straw for me is when I had asked some questions over an email and the VP over that department didn't like the questions and told my direct manager to write me up over it (he told me this directly). That was on a thursday, I had an offer for 20 hours/week by the end of friday (enough to live on), and basically told them to go fuck themselves. I made it very clear to them that it only took me a day and they're not going to keep any talent acting like that.

On the flip side, I've been working on another project as a freelancer for the past 8 months (with a break in the middle) with another developer, and this guy just wreaks havoc on everything he touches. Just last week I looked at something else he did, sat back and said out loud "how is it that I disagree with literally every decision you make?".

This guy would rewrite everything I wrote. He would take the idea and just restructure because he wanted to. Only, in such an overengineered manner that I'm just kind of miffed at what he's doing. I remember after about the 3rd month I just called the owner of the project up and straight up told him they need to stop paying me because he's _literally_ rewritten every piece of code I've written. I told them in no uncertain terms that I would take _no_ responsibility for the quality of the work because none of it was actually mine, they're just paying for everything twice. I straight up told them they need to get rid of the guy.

fast forward to 8 months and that same owner asked me to come back on board and told me directly that the company was going to be paying the cost of having this man work on their stuff and they're planning on releasing him. Why? Because a 2-4 week project isn't stable 8 months later and it's actively put their business in danger.

So I'm now working 40 hours a week and have completely replaced the income from that shitty company.

My point is this: I've seen both sides of it and just w/i the last year. You need to do serious thinking to determine which side of this coin you're on, and make the changes you need to make.

If you're in a company like that, get the hell out because you're too good and you're going to hate your life there. If you're like that man, you need to be kept in check and grown because you're not experienced enough to be left to your own devices without actively putting businesses at risk.

</comment></comment></comment><comment><USER8> It's in my experience that when one elects to keep themselves busy with A instead of B, it's because they're more adept at A than at B. Doing B requires one to get out of their comfort zone, and doing A let's them believe they're making progress while avoiding having to think about B.

Now that's just me, maybe it's different for you.

If I may ask: how are the sprint tasks different from the other small things you feel compelled to do?

<comment><AUTHOR> _> B requires one to get out of their comfort zone, and doing A let's them believe they're making progress while avoiding having to think about B_

There's definitely some of that.

 _> If I may ask: how are the sprint tasks different from the other small things you feel compelled to do?_

Sprint tasks are almost always about new features. The other tasks are more about maintenance and tech debt.

For example, my Sprint task will be about feature X. When I'm adding tests for X, I realize this particular repo has been neglected and is using very outdated dependencies, not following CI best practices we're using everywhereetc. So doing all that slows me down but I feel it's the right thing to do. Others disagree and don't see any problem with that.

Or our monitoring system started to spill out false positives a lot (or I took a look at that just this week), and I need to adjust things so the oncall doesn't keep being woken up unnecessarily. Or worse, they just keep pushing the ignore button.

Or the code I'm working on is using a database that's behind updates and is missing security updates.

There's a lot of yak shaving if I'm to look at the whole thing and feel proud about it.

<comment><USER8> Hey, that's the mark of a great engineer. I'm sorry your peers did not see the value in what you do.

My armchair diagnosis is you and your company are a poor fit for each other at this phase of the company. You have probably already surmised that you'd do better at large corporations or companies not focused on growth, but on greasing and sustaining their existing products.

Since you mention that you can't quit this job, there are several options you can consider:

1\. Internal transfer to another team, if possible.

2\. Start looking for other opportunities that are more aligned with what you do.

3\. Be mindful of priorities and timelines. Visualize and draw the timeline on a piece of paper if you have to, and understand that it's physically impossible to do both new feature and the small tasks, and still meet the deadline. Hopefully doing so helps you to see the big picture as the company sees it, and lets you override your compulsion. Write this down on a sticky note as a reminder and stick it on your monitor if you have to.

<comment><USER9> I agree with this. The OP is demonstrating a level of conscientiousness, professionalism and self-agency that a lot of companies would like from their developers who only do what they are told to do. See: Theory X and Theory Y management (don't want to work vs. want to work).

However my only addition to what the poster above mentioned, is be wary of the perils of the consequences of continually updating dependencies as this can be a never-ending spiral. If your organisation lacks the labour to maintain projects properly, your efforts may well be more sensibly allocated towards the greenfields areas you are being asked to focus on.</comment></comment></comment></comment>


Bank of America: 58,000 small businesses ask for $6B in loans since 9 a.m - <AUTHOR> https://www.cnbc.com/2020/04/03/bank-of-americas-small-business-loan-portal-is-up-making-it-the-first-bank-to-accept-applications.html <comment><USER2> I don't think people appreciate how many businesses literally go into a death cycle the minute that cash flow is cut by any significant percentage. With this shut down, it's like, 90+% of revenue cut off for entire industries. This is going to trigger a series of defaults and bankruptcies that are incalculable. These SBA loans are a bandaid. They won't prevent massive bankruptcies and economic depression if these shut downs continue for any longer.

<comment><USER3> I like how when this happens to companies it's not their fault, but when it happens to people everyone starts berating them for not saving/etc.

Like. What?

Our economic system is beyond broken if we expect companies to have less fiscal sensibilities than individuals.

<comment><USER4> That's a clever folksy outlook but the real world doesn't work like that. Businesses take inputs and produce outputs. They're not in the business of having 6 months of savings.

<comment><USER3> Then I guess we shouldn't be in the business of bailing them out.

The only way a bailout is acceptable is if we transfer the ownership of the businesses to the workers who actually produce the value.

</comment></comment></comment></comment><comment><USER5> A little off topic. I find it really weird that journalists have tried to paint this recession in light of other recessions. It feels like apples and oranges trying to compare the two. We've effectively shut the economy off, yet people still act surprised when 6M apply for unemployment. It feels a bit like putting cake batter in an oven and being surprised that you pull out a cake 45 minutes later.

<comment><USER6> I must be very naive, but I also don't understand why general lockdown has to have negative consequences. Couldn't we stop most non essential activities for a few months, feed everyone in the meantime (thanks to the work of essential workers), and just start again exactly like it was before the shutdown?

<comment><USER7> Lots of industries will not be the same for many years. For example people will not be going back to restaurants like they did. Their habits have changed and many people's attitude to being out with large groups of people is going to be changed forever. Same with tourism.

Many workers will drift into different jobs and for other reasons not return to their former employers. All of their institutional knowledge is gone. Supply lines are broken and will not all turn back on at the same time. Many businesses will not recover from that.

Plenty of economic activity will not be covered by the bailouts and those parts of the economy are now dead forever.

<comment><USER8> All these things will be back to normal by next summer. But as far as this year goes, it's a wrap.

We'll be lucky if people goto NYC for the holidays this year, visit Rockefeller Center and the tree, Broadway, etc. The biggest tourist spot in the nation is also the epicenter of the virus now.

<comment><USER9> No, clothing stores already had a difficult time recently. Now most clothing store just won't ever open again. What will they sale next fall. The spring clothes they just bought now?

I guess the same is true for most other shops too.

<comment><USER10> Why wont they open again? People will still need clothes. Im not sure what has changed?

</comment></comment></comment></comment></comment></comment><comment><USER11> The article describes this as a lending program, which is misleading. The SBA Paycheck Protection Program straight-up gives _free money_ to cover small business (less than 500 employees) payroll for 2 months. All the business has to do is not fire anyone in the meantime.

"SBA will forgive loans if all employees are kept on the payroll for eight weeks and the money is used for payroll, rent, mortgage interest, or utilities." [1]

[1] [https://www.sba.gov/funding-programs/loans/coronavirus- relie...](https://www.sba.gov/funding-programs/loans/coronavirus-relief- options/paycheck-protection-program-ppp)

</comment><comment><USER12> The main benefit of these loans is to prevent people from going on unemployment.

Which is easier:

\- process 300,000 SBA loans with bank employees and get 25% - 50% back

\- process 30,000,000 unemployment insurance filings with state agency employees and get back nothing

</comment><comment><USER13> This whole ordeal has been pretty enlightening. One of the reasons I have failed to jump into something of my own (consulting, start a business, etc.) is because I am constantly thinking about how to survive the worst case scenario, and I can't come up with a fallback plan I'm happy with. It turns out the vast majority of people who have made the leap don't think about this at all, they just go. Not sure if this will change my behavior going forward, just an observation.

<comment><USER14> With a scenario this immense, I'm not sure you're all that much more protected in a 9-5 'job' vs being a self-employed consultant. I do agree that many folks jump ahead without too much planning for the future, and... sometimes it works out, sometimes it doesn't. I've been burned a few times in the past, and while I am still self-employed, I've become a lot more cautious and reserved in my operations and personal life.

<comment><USER15> With this kind of scenario, if you have a 9-5 job, you have a very clear transition to unemployment. If you're a consultant... There is definitely government will and intent to help you, but you're a square peg, and the unemployment offices are still figuring out how to best fit you into a round hole.

</comment></comment></comment><comment><USER16> The banks are doing everything they can to make it a challenge to file for this program. You can't really blame them since it doesn't make sense for them to be lending given that 4/5 of the amount is likely to be forgiven. This should be done through spa.gov or some other government service.

For BOA you're required to have a lending product in addition to a checking account. While Chase first delayed their roll out and now are only offering a call back (with no details as to when or what they will require). I hear similar things about the disaster loans offered by the Government (not hearing back within 3 days) but at least in that case you can actually file an application. What are you supposed to do if you don't have an account with BOA or Chase? You're at the mercy of whether or not the bank wants your loan on their books. I can't see the upside in doing this through the banks other than to make it a logistical nightmare for small businesses - if anyone has thoughts otherwise I would really like to understand.

<comment><USER17> I think the logic is that banks can much more rapidly deploy money than can the government (see estimates on the regular stimulus check timeline).

The issue for the banks isn't that the loans will be forgiven, that's fine, they still get an origination fee; the issue is they're liable for validating the info you provide on the application, whereby if there's an issue your loan may in fact not get forgiven, and they're stuck with it.

So you're exactly right, if you already have accounts with the right banks, it's easy enough for them to verify and process the loan. But if you're an outsider, it's much harder.

</comment></comment><comment><USER18> So what would happen if instead of loan forgiveness the US government decided that for all existing contracts it is currently March 31st and will continue to be March 31st for the next 60 days. At that point a lot of things stop Getting but I would assume a lot of things break as well. The closest thing out there to just stopping time.

</comment><comment><USER19> Title of news article has since been changed to: "Bank of America says 85,000 small businesses have asked for $22.2 billion in loans since 9 a.m."

<comment><USER20> I particularly like how the article, given its length, was published at 9.15 AM.

</comment></comment><comment><USER21> BoA seems to be only letting people with some sort of loan product with them apply.

> "We have to focus on the borrowing clients to make sure we can take care of > them," he said.

This sounds like Bank of America is trying to help their clients that are at a default risk to themselves first, which is a bailout for themselves rather than small businesses at large.

</comment><comment><USER22> BofA sucks. They won't give you a COVID-19 SBA loan unless you already have a loan in place with them before February 15th.

I'll remember that the next time they need my money to bail them out....which will probably be this summer.

Selfish effing management.

</comment><comment><USER23> The loans are first come first serve.

I belive a lot of folks are simply asking in case they need them.

That doesn't make the need any less massive, I'm just not sure what it is.

</comment><comment><USER24> Who doesnt want free money?

</comment><comment><USER25> Yet you wouldn't know it based on the stock market. Apperently all of this is "priced in"

<comment><USER26> The prevailing belief is still that this will only be a several week 'pause' on an otherwise strong economy. Most seem to expect a V-shaped recovery.

<comment><USER27> This is why I'm still putting money into my investing accounts, but not buying anything. If it's anything other than a V shaped recovery, stocks are going to be hammered, and there'll be even more buying opportunities than there are now.

<comment><USER26> Certainly not a bad time to have some cash.</comment></comment></comment></comment>


Slowloris - the low bandwidth, yet greedy and poisonous HTTP client - <AUTHOR> http://ha.ckers.org/slowloris/

<comment><USER2> While interesting, this attack is old. A newer "variation" on this is with HTTP POST instead of headers.

[http://www.darkreading.com/vulnerability- management/16790102...](http://www.darkreading.com/vulnerability- management/167901026/security/attacks-breaches/228000532/index.html) <http://www.owasp.org/images/4/43/Layer_7_DDOS.pdf>

<comment><AUTHOR> yes that is exactly right. micahl-zalewski and adrian-llarion reported it here : <http://www.securityfocus.com/archive/1/456339/30/0/threaded>, nevertheless, it definitely _is_ very interesting

</comment></comment><comment><USER3> I dispute the notion that Slowloris's behavior should be considered an "attack". If your server is hammered by tens of thousands of visitors who are on slow links - say modems or 2G wireless links - then you will have the same problem. The real problem if you ask me is the limited amount of I/O concurrency that multi-threaded and multi-process servers can have. Pretty much the only practical solution for this right now is by using evented I/O.

The problem can also be solved by putting the web server behind an evented, buffering reverse proxy and fully buffers both the request and the response. This shields Apache from slow requests.

Maybe some time in the future operating systems will be able to handle millions of operating system threads easily but we're not there yet.

<comment><USER4> > The real problem if you ask me is the limited amount of I/O concurrency that > multi-threaded and multi-process servers can have. Pretty much the only > practical solution for this right now is by using evented I/O.

Why do you think that? What constraints do you believe limit the number of threads you can use?

\- An idle thread is essentially free.

\- The memory used by an ongoing request should not be inherently different between an evented server and a threaded server.

\- The number of sockets an evented server can use is the same as the number of sockets available to a threaded server.

If evented servers are handling this better, all it shows in my opinion is that the threaded servers have been written incorrectly or else configured incorrectly. But that is not an inherent benefit of evented servers. Please correct me if there is a constraint I am missing.

<comment><USER3> > Why do you think that? What constraints do you believe limit the number of > threads you can use?

Virtual memory address and context switching overhead. On 32-bit platforms, if each thread has an 8 MB stack then after creating a few hundred threads you run out of _VM address_ even if you don't actually use that much memory. Most OS schedulers also don't like dealing with tens of thousands of threads. Furthermore each kernel thread takes a small amount of space but kernel memory typically isn't swappable, unlike userspace memory.

<comment><USER4> By context switching overhead, I assume you mean the overhead of faulting data into the cache from a thread that had been sleeping. Evented systems have this overhead too when switching between events related to different requests.

Stack size I've discussed in another response. It can and should be decreased if you plan on working with a lot of threads.

I can't comment on the Mac OS X scheduler. The Linux scheduler handles it just fine, and my understanding is that the Windows one does OK with it too.

The small amount of kernel memory that isn't swappable likely isn't your system's overall throughput constraint, but if it is I stand corrected.

</comment></comment></comment></comment><comment><USER5> cleverjake: You're being censored. All your comments are dead on arrival.

<comment><USER6> And from the looks of it, for submitting a link to a YouTube video.

<comment><USER7> This is a really disturbing characteristic of Hacker News moderation. The people it happens to must feel like Bruce Willis in _The Sixth Sense_ , when they realize it. Why not let them know??

<comment><USER8> There's a term for it, but I'm blanking on it.

I believe the idea is that it's for people who are legit trolls. If you let them know, they'll just create another account. But if they think people have just grown tired of their antics, they're more likely to move on to another site.

<comment><USER9> I think you're looking for the term "hellban:" <http://www.urbandictionary.com/define.php?term=hellban>

</comment></comment></comment></comment></comment><comment><USER10> I guess this is the example why you should guard your own home-baked HTTP server behind nginx or lighttpd.

<comment><USER11> Right, because nginx and lighttpd aren't easier to exploit. /sarcasm

<comment><USER12> They (nginx, lighttpd) are more difficult to exploit, especially when used to buffer requests to a heavier upstream server like Apache.

EDIT (Clarification):

They (nginx, lighttpd) are more difficult — although not impossible — to exploit, especially when used to buffer requests to a heavier upstream server like Apache.

Specifically, they are typically able to handle many more connections than your application server would be able to (as long as they are properly configured), without the incurring the resource overhead of your application server by bufferring the HTTP request/response.

<comment><USER11> Nice job editing your comment without saying so (" -- although not impossible --" and your last paragraph).

Anyway, your nginx/lighttpd server is more likely to be exploited and compromised via an actual vulnerability rather than your Apache server via a slowloris-style attack. It's akin to putting a wide receiver in front of your runningbacks...

<comment><USER3> I am not aware of Nginx having a bad security track record.

</comment></comment></comment></comment></comment><comment><USER13> I wish they could have picked a better name - 'Slowlaris' (note minor spelling difference) has been a colloquial name for the older, but more common versions of Solaris, due to the badly performing IP stack for some time.

That said, Slowloris wins a Googlefight these days: [http://www.googlefight.com/index.php?lang=en_GB&word1=sl...](http://www.googlefight.com/index.php?lang=en_GB&word1=slowlaris&word2=slowloris)

</comment><comment><USER14> Apache has many differing mpms - you can use an evented mpm similar to how nginx handles connections. Anyways since this 'attack' is making a full tcp connection a simple fix would be to limit the amount of full tcp connections from one source.. or if you feel particularly evil add it to a blacklist of tarpitted connections and then reverse DOS the attacker.

</comment><comment><USER15> See also "A. Kuzmanovic and E. W. Knightly. Low-Rate TCP-Targeted Denial of Service Attacks (The Shrew vs. the Mice and Elephants). In Proc. ACM SIGCOMM, 2003." and related papers -- <http://www.cs.northwestern.edu/~akuzma/rice/shrew/>

</comment><comment><USER16> Anyone try this out on a Varnish setup?

<comment><USER16> I just tried this on my stock Varnish config and the site was still responding to requests. So, Varnish can be added to the list of 'not affected.'

</comment></comment><comment><USER17> It's important to note that you can protect against Slowloris itself not only by the various apache modules available specifically for Slowloris and specifically for this kind of HTTP attack, but also through Apache's native configuration settings that (among others) govern the number of simultaneous connections any single IP is allowed to have. Slowloris itself is not much different in terms of the effect it has on the HTTPd than a script pulling data from the server using curl or wget.

<comment><USER18> I don't know how the Apache modules to guard against Slowloris work, but I can think of a modified attack that would still work if connections per IP were limited. You can't limit connections per IP to just one, as browsers will pipeline requests, they may have multiple tabs open, asynchronous requests, &c . . . 256 is obviously very high, let's say you set the limit to 10 simultaneous requests per IP.

It's now impossible for a user to Slowloris your webserver, but they only need to get hold of 26 separate IP addresses to be able to once more. Depending on your setup, this may be far less than they would need for a naive DDOS attack.

I think a way to mitigate both attacks would be to limit how long the client can send headers for (and perhaps refuse connections for X amount of time if a client repeatedly acts in a way that appears malicious, but that's possibly beyond the scope of "native configuration").

<comment><USER19> First off, as others have pointed out you can successfully run thousands of threads, so the default 256 does not mean much. Also, HTTP pipelining is not what you think it is: <http://en.wikipedia.org/wiki/HTTP_pipelining>

<comment><USER18> I know, I was one of those people - I just wasn't sure if Apache can do that well, I know of other servers that can. And yes, you are correct, that's what I get for posting when tired - I meant simultaneous requests!

<comment><USER19> Happens to me too. I don't function correctly when I'm tired.</comment></comment></comment></comment></comment>


Try, Then Add - <AUTHOR> http://kirubakaran.blogspot.com/2007/07/try-then-add.html

<comment><USER2> I'm not sure if I agree with the idea that everything must be built out of tiny fully tested pieces. On the other hand writing a large system without testing components is insane. But most of the time I find it easier to start writing a module and then start a test and debug cycle when I'm done. I might find out half way through that the original way I wanted to solve the problem was wrong and have to rewrite most things from scratch. So it's best to write things quickly and be able to throw it away quickly. After you settle on the structure you can start to write tests to check edge cases, and verify correctness (and also to help with refactoring). I'd say this style is more like "sketch, correct, sketch some more, then polish"

</comment><comment><USER3> Funny...I'm a self-taught Python programmer, and didn't know there was any other way than what he describes.</comment>


Ask HN: What's it like to have your pull requests rejected? - <AUTHOR>

I really want to contribute to open source projects but am anxious about making pull requests and the entire settled community burning me down for low quality contribution or poor code.<p>What's it like? <comment><USER2> TL;DR: \- Don't worry about it! \- Resolve an existing issue \- Make your pull request in a way that makes it pleasant to review by including prose and screenshots (if applicable) \- Expect please-fix-this comments.

Pull requests are a vehicle for you to help improve a codebase, but also for the maintainers to evaluate whether your contribution is a good fit for their project. Rejection hurts. However, often you can aim for criticism that says, "I'll merge this if you fix X, Y, and Z".

Treat a PR as a request for feedback on your code. Perhaps the project prefers a certain style, or the maintainers might know of ways you can write your code in a more idiomatic manner for that language. Don't be afraid of this! This is one of the ways we get better. Expect to have several comments that are "please-fix" style comments.

Start small, and try to resolve an issue that's already reported. Ask a maintainer if there's a small enough task that they'd be willing to delegate to you. If they already know you're working on something, you are likely to get a warmer reception, and you avoid them having the same feature already under development.

When you finish implementing your feature (or fix), spend some time writing a few paragraphs of prose describing what your PR changes, what problems it fixes, as well as any assumptions you made or limitations that it might have and any future changes that this might need.

      e.g.:
      This changes the way we fetch Foo and Bar lists
      of items for users so that they use the same RPC
      method.  In a future change, I plan to merge the
      separate tables into a single display which can
      be filtered in a more robust way.

This helps give a gentler introduction to your change, and lets you explain why you feel it's necessary. It also lets you describe the issue you're resolving (In addition to saying "Fixes #1324") so that it's easier to read. If you're changing the way things are displayed, try to include a screenshot.

<comment><USER3> Does it make sense to get in touch with developers first, to find out where they'd like you to focus, or to find out if there is already ongoing work on an issue?

</comment></comment><comment><USER4> I would prefer an outright request instead of just letting the pull request lie idle.

Perhaps you can implement a bug fix before submitting a pull request for a new feature. Start small. It is hard to tell since every open source project is different.</comment>


Slacktyping: I'm typing when you're typing - <AUTHOR> https://twitter.com/leinweber/status/989267343002951680 <comment><USER2> I especially love how down the thread he explains how all of his commit messages start with "cafe", he searches with timestamps, messages, and author combinations for collisions...

<comment><USER3> It's pretty funny, but this isn't really a collision. Rather, he's searching for combinations that make hashes that start with "cafe"... nothing more.</comment></comment>


PHP Design - Biggest Database Oversights - <AUTHOR> http://www.justincarmony.com/blog/2008/10/25/php-design-biggest-database-oversights/ <comment><USER2> These problems have been solved by the various popular php-based MVC frameworks. My favourite is <http://www.cakephp.org/>, but I hear a lot of good things about <http://codeigniter.com/> as well.

<comment><USER3> Recently I played with Django+Python. One thing I found difficult with MVC frameworks is how to make memcached for per query more comfortable. Contrary, hand coded oo interface can handle that well. (You can always hand code memcached layer in your own model with MVC framework of course, but here I am arguing that framework should have a universal way to make the utility of memcached invisible)

</comment></comment><comment><USER4> As I commented on the blog, he fell into the trap of needlessly looping over sets of data.

1) Loop over MySQL result set in GetArray

2) Loop over array of results to format them in GetVideos

3) assumed loop over results to eventually display them to the user.

All three steps could be accomplished at the same time by simply using iterators.

<comment><USER5> could you give me a quick example of this?

<comment><USER4> Yes! I'm copying and pasting some code from various areas.

Here is an old and slightly modified mysql result set iterator that fits the purposed of the newer code that makes this example nice: <http://codepad.org/nmD4pDES>

Here is a windowing iterator, it gives the person the ability to shift and pop elements from the inner iterator, thus narrowing the field that the iterator goes over: <http://codepad.org/IsE5U7cw>

We can now do the following... <http://codepad.org/nP0EEKxT>

<comment><USER5> thx, appreciate it.

</comment></comment></comment></comment><comment><USER6> How the Recess! Framework addresses these oversights: [http://www.krisjordan.com/2008/11/28/how-recess-solves- commo...](http://www.krisjordan.com/2008/11/28/how-recess-solves-common- phpmysql-issues/)

To summarize: abstractions and proper layering of database code.

</comment><comment><USER6> Great article. I'm writing an open source PHP framework called Recess! which addresses these issues and an alpha release will be public in a week or so. <http://www.recessframework.com/>

</comment><comment><USER7> Nice heads-up advice. Basically it could be summarized by 'Abstract, abstract and abstract some more' or if you're a Python aficionado DRY (don't repeat yourself).

<comment><USER8> I think the DRY motto came from the Rails folks.

<comment><USER9> It didn't, DRY is much older than Rails.</comment></comment></comment>


Sophie Germain Prime Search found World Record twin primes [pdf] - <AUTHOR> https://www.primegrid.com/download/twin-1290000.pdf <comment><USER2> It's incredibly fascinating how very simple constructs like primes have such complexity to them. It's very easy for a 14 year old to formulate questions relating to primes that noone can answer.

<comment><USER3> Noone is a pretty smart guy. But there are questions that no one, not even he, can answer.

<comment><USER4> gnome Ann's best friend perhaps? [https://xkcd.com/1704/](https://xkcd.com/1704/)

</comment></comment></comment><comment><USER5> what I find interesting is the amount of computing power that it takes to calculate.

Edit: As an after thought, there are recordings of million digit prime numbers: [http://www.primegrid.com/download/SR5-180062.pdf](http://www.primegrid.com/download/SR5-180062.pdf)

</comment><comment><USER6> Are there chains of Sophie Germain primes?

e.g.,

        p is prime
        2p + 1 is prime
        2(2p + 1) + 1 is prime...

<comment><USER7> Wikipedia says these are called Cunningham chains: [https://en.wikipedia.org/wiki/Cunningham_chain](https://en.wikipedia.org/wiki/Cunningham_chain)

There are no infinite chains, but there are conjectured to be inifinitely many finite chains of every possible length.

</comment></comment><comment><USER8> [https://en.wikipedia.org/wiki/Sophie_Germain_prime](https://en.wikipedia.org/wiki/Sophie_Germain_prime)

</comment><comment><USER9> this is a great example of the title change rule making a title worse

i think taglines/subtitles/subject sentences should be eligible for titles too</comment>


Show HN: Echo Show – RaspberryPi Security Camera - <AUTHOR> http://sammachin.com/blog/build-your-own-rasp-pi-security-camera-for-the-echo-show/ <comment><USER2> Bit offtopic but still worth mentioning for future reference is that when you count seconds out loud, start from 21.

What it does is this ensures the numbers are closer to 1 second duration because the amount of time it takes to mention the 2-3 syllables whereas the early ones { 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 } are merely 1 syllable.

Why 21 and not 13? Its an easy to remember number (just add 20 to your starting count), and the second part of the number is still accurate.

Don't believe me? Feel free to verify with a stopwatch.

I learned this from driving lessons in NL. Based on some quick translation abracadabra it seems to equally apply to English.

(NB: To be precise, 9 would be 2 syllables in Dutch while its only 1 syllable in English. Other languages will vary!)

<comment><USER3> I count 1001, 1002 and so on.

<comment><USER2> Works as well, and 1000 might be an easier modifier than 20 in some situations.

Downside is there's going to be a difference in elapsed time between { 1001, 1002, 1003, 1004, 1005, 1006, 1008, 1009, 1010, 1012 } and 1013+.

Regardless, better than conventional { 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 }.

</comment></comment></comment><comment><USER4> I've been using MotionEyeOS for several months now. I setup a a couple of Pi3's with some cheap Logitech USB webcams. Works great from inside the house - I used velcro to tape the cameras pointing out from various windows around the house and in the garage.

[https://github.com/ccrisan/motioneyeos](https://github.com/ccrisan/motioneyeos)

I am looking for something that will work outside and has night vision though.

<comment><USER5> Hey, I've recently been working on a similar project [1] to setup cameras on Pis with cheap USB webcams. However, I had repeated issues with Logitech cams causing the Pis to crash. Thanks for this link to MotionEyeOs, I'm going to see if this allows me to get some use from those cameras as well. (I had fallen back to using some HP and generic USB cameras).

Regarding your quest for a camera that will work outside and has night vision, I mention it in my little write-up, but an amazon search for "elp dome camera" should turn up a handful of USB webcams with IR illumination and an outdoor enclosure. I've had one on my outdoor balcony for about 6 weeks now without issue.

[1] [http://moonbench.xyz/projects/pi-camera- network](http://moonbench.xyz/projects/pi-camera-network)

</comment></comment><comment><USER6> Or use old cell phones: [http://www.cloxmonkey.com/securitysystem.html](http://www.cloxmonkey.com/securitysystem.html)

The "bad ESN" LG's mentioned in the article appear to be $15 including shipping now; you can get a lot more for the $35 cost of a zero + camera module.

The Android app mentioned does not appear to specifically try to be compatible with the Echo Show yet.

<comment><USER7> This is a great idea - turning used cell phones into super-cheap IP cameras. I'd probably want to get cheap wide-angle lens adapters ($1 each), and use phone case ($1) to mount it on the wall/ceiling. Another idea is to use selfie-cam/front facing camera, so that the video is visible all the time, as it might be a deterrent to burglar/etc.

For CCTV video recording, I use iVideon (freemium), which is cross-platform, and has free unlimited local recording, free streaming, and free limited event-based 24 hour cloud recording. Another favorite is ZoneMinder, an open- source favorite.

</comment></comment><comment><USER8> I've toyed around with a couple of these for use as baby cams -- mostly streaming the video feed over RTSP using VLC as the server. The video feed always works well, but I've never been able to get the audio from a usb mic to transmit using this method. The last time I googled about the topic, it didn't look like anyone else had had much success adding audio to the stream.

Does anyone know of any RaspberryPi projects that have succefully integrated audio into the video feed?

<comment><USER6> I assume audio was included on a "Pi for WebRTC", but both audio and video may have come from an attached webcam rather than separate sources:

[https://news.ycombinator.com/item?id=14788060](https://news.ycombinator.com/item?id=14788060)

"we managed to get something smooth working with UV4L"

[https://www.raspberrypi.org/forums/viewtopic.php?t=132658](https://www.raspberrypi.org/forums/viewtopic.php?t=132658)

[https://www.linux-projects.org/uv4l/installation/](https://www.linux- projects.org/uv4l/installation/)

</comment></comment><comment><USER9> I set up an RPI camera without any of the echo stuff: [https://blog.thekyel.com/?anchor=motion](https://blog.thekyel.com/?anchor=motion)

It was fairly easy, but there were a few gotchas. It does a pretty good job, but I do get some false-positives with changes in light.

Now that I see this project, I really need to put a video together showing how mine works....

</comment><comment><USER10> Nice hack, but the 80s called and wants to popularize a low latency analog system.

I just don't like the 6 second lag for security applications.

<comment><USER11> Technically, Rasberry Pi is capable of streaming h264 with lag of ~150 ms using the Pi camera (not USB).

</comment></comment><comment><USER12> Slightly off-topic: Does anyone know what is state-of-the-art for small cameras suitable for surreptitious security?

<comment><USER13> Something lie this?

[http://boingboing.net/2017/08/04/theyll-never-see-this- tiny-...](http://boingboing.net/2017/08/04/theyll-never-see-this-tiny-c.html)

<comment><USER12> That's cool, but was thinking of something along the lines of what a PhD EE might conceive. Small chips out of sight using ultrasonic waves to create a detailed real-time 3d-map of a physical space, for instance.

<comment><USER13> Ahhh - so not quite a "camera", but have you seen this:

[http://people.csail.mit.edu/fadel/wivi/design.html](http://people.csail.mit.edu/fadel/wivi/design.html)

[https://www.businessinsider.com.au/wifi-camera-sees- through-...](https://www.businessinsider.com.au/wifi-camera-sees-through- walls-2017-5)

[https://www.engadget.com/2017/06/19/researchers-map-a- buildi...](https://www.engadget.com/2017/06/19/researchers-map-a-building- in-3d-using-wifi-enabled-drones/)

</comment></comment></comment></comment><comment><USER14> Huh, I may have to look into a home wifi camera system based around Pi's. Sounds fun, and far less concerning than proprietary IoT Cameras.

<comment><USER15> I've set up a bunch of cheap D-Link WiFi cameras.

To alleviate the IoT security concerns, they're all on their own WiFi network (mapped to a dedicated VLAN). This lets me set up rules on my router to prevent the cameras from talking to the internet and to other networks. Devices on other networks are allowed to talk to the cameras, but I'm planning on restricting that to only allow the monitoring VM to connect to the camera network.

For monitoring/recording, I use Zoneminder. Zoneminder has some quirks, but it does the job well enough.

</comment></comment><comment><USER16> This looks cool! I wish I could afford an Echo Show :)</comment>


GHC's new cutting-edge dataflow-based code generator - <AUTHOR> http://hackage.haskell.org/trac/ghc/blog/newcg-update

<comment><USER2> I just wanted to say that it's refreshing that I can write high level code and I can expect it to be _fast_.

I am just learning haskell, but I like the fact that I can return very large structures (even infinitely large) and then operate on those structures much later, and it magically pipelines everything behind the scenes.

<comment><USER3> But could you really determine whether things would be efficiently pipelined if I gave you arbitrary Haskell code examples? Magic that sometimes works and sometimes doesn't is fun for small projects, but on a large project you really want predictable tools. You shouldn't need knowledge of the internals of the compiler in order to write efficient code.

<comment><AUTHOR> On a large project you optimize the hotspots using an excellent profiler...

<comment><USER3> You also want reasonable and understandable default behavior so you can avoid problems before they even occur.

<comment><USER4> Different languages make different tradeoffs.

</comment></comment></comment></comment></comment><comment><USER5> Is there any good documentation for the GHC architecture for someone who is relatively familiar with modern (ML) compiler architecture theory, but not practice? Or should I just start reading the cited papers for STG and the rest of the GHC design?

<comment><USER6> Volume II of "The Architecture of Open Source Applications" has a good introduction to GHC's architecture:

<http://www.aosabook.org/en/ghc.html>

<comment><USER7> beautiful :-) didn't know there was a volume 2.

</comment></comment></comment><comment><USER8> I'm familiar with Haskell but that's about all the context I have. Anyone care to translate, summarize, or contextualize?

<comment><AUTHOR> GHC currently has an excellent semi-whole program optimizer for Haskell-level code. And it has LLVM for optimizing the generated assembly. What is missing is an intermediate level optimizer that optimizes asm prior to LLVM, and has awareness of the properties of the Haskell runtime: e.g. immutability, lack of aliasing (properties LLVM can't see). With this last piece, all aspects of code generation are getting heavy duty optimizer treatment.

The new code gen is also pluggable, so you can add new optimizer passes easily (e.g. by implementing text book algorithms)

<comment><USER9> Heh, 'semi-whole' seems to be a bit of an oxymoron. Could you explain exactly what that means? Do you just mean that it looks at your whole program but not the libraries you use?

<comment><USER10> Basically, it inlines across module boundaries (except where such modules are mutually recursive).

<comment><USER5> I don't think cyclic imports are allowed in Haskell.

<comment><AUTHOR> Sure they are, and full cross-module inlining too

<comment><USER11> Since when? I just merged 3 files together because GHC complained of the cyclic imports. I would love to pull them apart again.

<comment><USER12> [http://www.haskell.org/haskellwiki/Mutually_recursive_module...](http://www.haskell.org/haskellwiki/Mutually_recursive_modules#GHC)</comment></comment></comment></comment></comment></comment></comment></comment>


I left Heroku for OpsWorks and shaved 40% off response times - <AUTHOR> http://www.stefanwrobel.com/heroku-to-opsworks <comment><USER2> While I can understand the advantages the author of the article mentions, I must say that one should think about making the move to OpsWorks, because you can't compare their prices without considering other costs / tradeoffs.

A friend of mine and I have been working on a startup for the last 8 months. It has been tough as we have been working full time for a company and hacking like crazy once we got home, or on weekends.

We chose to use Heroku because of the dead simple workflow that would allow us to spend time developing features instead of maintaining the infrastructure. This may sound like a cliché, but boy was it a good decision. The platform is rock solid, deployments are a bless and the add-on system is just one of the best time savers you can get.

We know OpsWorks (or earlier Scalarium) from our full-time job, and we know how cool it is. But we also know that it requires a lot of time and additional effort to keep things running.

This may pay off if you run a company which can afford it, but you should think about it twice if you have limited resources (and other, more important things to do!).

Even now, after we have launched, we still see no reason why we should move from Heroku to OpsWorks (or another platform). We have made some optimizations and clever (to us) decisions to avoid running into scalability problems. Maybe we will think about migrating once we get a ton more clients and even more traffic. It is cheaper to just add some dynos than spending time on server administration.

In the end, it's all about making the right decision, so don't hurry and if you think Heroku is too expensive for your business, maybe you are not making enough revenue from your customers. On the other hand, if you have the money and time, than go for it.

<comment><USER3> If companies think Heroku is more expensive they are failing to factor in how expensive it would be to have an employee to do all the work that Heroku takes off their plate. I work 45 - 50 hours a week developing. If I have to do devops - provisioning, deployment and system administration work - to maintain a server infrastructure there goes 15 - 20 hours! Surely my company is paying less to Heroku to manage that redundant, and at this point formulaic infrastructure than to me to do the same things that they've automated away. I can then work on our products. That seems less expensive, not more.

<comment> grey-area Once you have done the setup once and have it all automated, it's more like 1 hour per week keeping on top of upgrades, backups etc. So for many people heroku is an expensive option, even when starting out. Nothing wrong with using it, but outsourcing your infrastructure does not come cheap, compared to other options like a VPS.

<comment><USER3> VPS is much more expensive because you have to do all the work to provision (either manually or automatically) the software stack you are working with, configure every new instance either, configure your deployment and testing pipeline using a CI server and using git hooks, and keep the whole edifice up and running. The time overhead is very large, and it ends up taking over as the major cost driver.

<comment> grey-area Having done most of the steps you mention above for multile clients, I'd contend the time overhead is not very large - most things can be automated, and once that is done an extra instance is just a matter of spinning up a server and deploying - also you can scale a very long way on one or two instances when the hardware is beefy enough (e.g. this website), backup, deploy, testing can all be automated. There are definitely some situations where a service like Heroku or AWS makes a lot of sense, but it can get expensive very quickly; you're trading time to setup/manage for higher ongoing costs forever. VPS is cheaper but requires some setup. That's a trade-off each company has to evaluate individually given the talent and money they have.

</comment></comment></comment></comment></comment><comment><USER4> Based on his mention of SSD-backed instances (c3.large) being only $100/mo, I looked at EC2 pricing again to see if it had become more competitive. Turns out it only has 2x16 gigs of storage and 1 physical core.

Looking at the c3.8xlarge instances, they're specced pretty much exactly like the servers I just built for $9k/each, except they have half the ram (60 vs. 128) and half the storage (2x320 vs 4x320). And they cost the same to rent for 6 months as it does to buy one, including coloing.

So, if you need more than a fraction of a physical server, EC2 still loses pretty hard on the pricing. It seems as though it has become competitive with Softlayer, though, at least.

EDIT: Ah, but if you pay $11.6k upfront to reserve it for three years, it reduces the monthly bill from $1728 to ~$370, which is a much better deal than Softlayer offers. That's actually a pretty reasonable premium compared to racking them yourself, though you lose flexibility and the hardware is worse than what you'd get yourself. Well played, Amazon.

<comment><USER4> >Your servers are also likely 2-5 times as fast in the CPU department too.

FYI, you've been hellbanned, Sssnake.

They use slightly better processors for the C3s than I use (2x8 core 2.8 vs. 2x8 core 2.6). I'd assume that if you get the largest instance, you probably have the whole machine to yourself and don't have issues with bad neighbors, so it's probably actually slightly faster than mine.

<comment><USER5> Possible he's been hellbanned, but his latest post is the only dead one.

<comment><USER4> Ah you're right. Sorry if it was a false alarm, Sssnake.

<comment><USER5> It was you that's right, he has indeed been hell-banned.

<comment><USER4> Agh he has. That's a shame, his comments seem to above average. I wonder how that happened.

<comment><USER5> Look at the last post he made before he was hell-banned.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Opsworks is nice, and it's a good packaged solution. A large number of smaller apps would benefit from a switch. It's also more fairly priced.

That being said, opsworks is still based on chef, which is still cumbersome. For most people Ansible is far easier to deal with if they don't fit into the opsworks box. The overhead of starting from scratch with ansible can be made up for with the faster overall development time.

<comment><USER7> Ansible: I was in the "Don't go there" camp a while ago - they documentation was horrible, the whole website a mess and lots of things weren't discoverable at all (people using ansible told me that they used google site search to find stuff in the manual).

I returned a couple of days ago to look at the current state of things and I have to admit that I was impressed. Technically I really liked ansible for quite some while. Now it even comes with decent documentation. I'd back the suggestion to check it out.

<comment><USER8> I was really excited by ansible, but I quickly found out that using `register: result` and `when: result|success` throughout so many playbooks meant I was back to the mess that is understanding the flow of a chef script that you didn't personally write.

Maybe that's not a problem since I rarely found an open source ansible playbook for anything I needed and had to always write my own.

<comment><USER9> Hi, I've published some reusable roles for ansible. They are still quite basic, but I'd love for you to have a look at them. [https://github.com/search?q=%40zenoamaro+ansible](https://github.com/search?q=%40zenoamaro+ansible)

<comment><USER8> Always great to see people putting up open-source projects like this. I'll definitely give them a look, and at the least, get a grip on how other people found solutions with Ansible. Thanks man.

</comment></comment></comment></comment></comment><comment><USER10> Nice writeup. I recently switched from Nodejitsu over to Heroku for my open source project gitignore.io and I noticed there was a slight slowdown in response time. The app score index in New Relic went from around 92 to 100 though so I guess Heroku's servers on AWS were a bit more reliable. I also added in a CDN to increase the speed of serving the static assets.

All in all, I can say that I'm happy with the transition, but I'm also running one Dyno which I'm far from maxing out. I feel like for a larger product, Heroku would be more problems down the line than it's worth.

<comment><AUTHOR> Exactly how I felt, great at small scale, but increasingly painful to use as you reach scale.

By the way, great tool, thanks for building it!

</comment></comment><comment><USER11> One limitation with OpsWorks is that as far as I know, there's no option to use spot instances whereas it's not a problem with EC2 launch configurations for AutoScaling Groups. Also, ASGs and OpsWorks both have options for time and load-based scaling with different interfaces.

It's easy enough to understand how this happened as OpsWorks came about via an acquisition, but consistency would certainly be nice.

Presenting overlapping yet incompatible features under the blanket of AWS is confusing and potentially pretty frustrating.

</comment><comment><USER12> FYI OpsWorks runs their Chef on Ruby 1.8, make sure your cookbooks passes on 1.8, and it doesn't depend on +1.9 :)

This is nothing on AWS OpsWorks, as they greatly simplified interface into managing clusters (for deployments, organization).

I found about this recently as I updated a community cookbook(python), as the Chef community is moving forward (with Chef 11+) that 1.8 has reach EOL and 1.9 is stable (2015) and 2.0 current, and 2.1 is new-hot-ness.

</comment><comment><USER13> What do Opswork, Chef, and the Heroku platform have to do with response time?

Did the author investigate why the response time were that slow to begin with?

<comment><AUTHOR> I wouldn't say they were "slow to begin with" but improved speed is always nice. I think the major contributing factor was access to newer, more powerful instances. Heroku Dynos run on very old EC2 instances.

</comment></comment><comment><USER14> At WeHostels we moved from Heroku to Rackspace last year and we shaved ~30% off response times.

<comment><USER15> Curious from a user experience perspective would you consider going back to try out the PX dyno service? Do you use chef or puppet or any other software to manage your Rackspace instances?

</comment></comment><comment><USER16> How's Science-inc working out for you?

<comment><AUTHOR> That's a whole other conversation ;)

<comment><USER16> Hopefully good, lol. I've been watching them recently and thinking about reaching out with a couple prototypes.</comment></comment></comment>


The "verb second constraint" could explain how people acquire language - <AUTHOR> http://phys.org/news/2015-12-linguistic-verb-constraint-people-language.html <comment><USER2> I'm continually astonished at how much sway Universal Grammar still holds. This entire field has completely ignored the fact that AI and machine learning exist. Chomsky was and is a genius, but Max Planck was right when he said science advances one funeral at a time.

<comment><USER3> I definitely agree that universal grammar has been dying a long slow death, but despite press coverage, I suspect universalists are the minority nowadays. Either way I hardly think linguistics has ignored AI/machine learning. In general there's an anticipation of eventual synergy between the domains, but ML has yet to magically solve the "poverty of stimulus" issues with pattern recognition that originally prompted hypotheses like UG...

<comment><USER2> Ah sorry, by "entire field" I meant the subset of linguists who are doing this kind of research. And I agree that AI/ML hasn't solved every problem raised by the poverty of the stimulus, but more importantly I think it is clear at this point that we should be framing these phenomena in terms of learning and inductive biases rather than solely in terms of UG.

</comment></comment></comment><comment><USER4> This is a completely useless article, which creates more questions than it answers. Chiefly among them: why would a linguistic researcher believe that one shared property of Indo-European languages implies a universal grammar?

<comment><USER3> The researchers are identfiying that languages that lost V2 may have underwent specific other syntactic changes in the same period. Since these changes co- occurred in multiple languages at different times, they suggest it's likely there is an underlying structure linking them (...which they conveniently have an explanation for within their particular brand of universalism).

Of course just because language has deeper structures doesn't mean the structures are actually universal. I happen to like a lot of the syntactic mechanisms suggested by minimalists (the work on things like adjective order and clause relations is fascinating) but I don't necessarily believe it's compelling that any of it is an inherent feature in the brain...

EDIT: Here are some presentations by the authors, though I must admit I don't have the time to look though at the moment. [http://www.hf.uio.no/ilos/english/research/projects/traces-o...](http://www.hf.uio.no/ilos/english/research/projects/traces- of-history/presentations/)</comment></comment>


Tell HN: The "Doogie Howser" Startup Test - <AUTHOR>

If your startup has eclipsed "Doogie Howser" in Google Trends, you can feel satisfied that you've crossed the first line and are well on your way to becoming a household name.
For example, Posterous passed the Doogie Houser test in mid-2009:
http://www.google.com/trends?q=posterous%2C+%22doogie+howser%22&ctab=0&geo=all&date=all&sort=1
And Mint.com in late 2007:
http://www.google.com/trends?q=mint.com%2C+%22doogie+howser%22&ctab=0&geo=all&date=all&sort=1 <comment><USER2> HN is getting close

[http://www.google.com/trends?q=%22hacker+news%22,+%22doogie+...](http://www.google.com/trends?q=%22hacker+news%22,+%22doogie+howser%22&ctab=0&geo=all&date=all&sort=1)

</comment><comment><USER3> I fear that by using that trend, we would distort it.

</comment><comment><AUTHOR> Links from original post:

[http://www.google.com/trends?q=posterous%2C+%22doogie+howser...](http://www.google.com/trends?q=posterous%2C+%22doogie+howser%22&ctab=0&geo=all&date=all&sort=1)

[http://www.google.com/trends?q=mint.com%2C+%22doogie+howser%...](http://www.google.com/trends?q=mint.com%2C+%22doogie+howser%22&ctab=0&geo=all&date=all&sort=1)

</comment><comment><USER4> Why Doogie Howser?

<comment><USER5> Just out of speculation, "Doogie Howser" is a very unambiguous string (other TV shows often have more ambiguous titles, like "Cheers" or "Highlander") that's close to the edge of public recognition--most everyone knows about Doogie Howser, but it's not extremely popular.

Also, the Doogie Howser trendline is pretty flat, aside from various spikes.</comment></comment>


GopherCon 2015 videos - <AUTHOR> https://www.youtube.com/playlist?list=PL2ntRZ1ySWBf-_z-gHCOR2N156Nw930Hm <comment><USER2> I am a little disappointed that the conference never asked for feedback afterwards.

While I enjoyed the vast majority of talks, I felt that some didn't hit their mark. A select few speakers were poorly prepared for a conference that they had months to prepare for. One speaker made a comment along the lines of "I would give a demo, but I ran out of time to prepare." Another speaker (verbatim): "I've been working on this talk since yesterday. ... If it looks like I don't know what the next slide is, it's because I don't." There were also 4 talks about the history of go. Three of those talks were given by people that all work closely together. I would have expected to see a higher level of polish in both speaker selection, and preparation by the speakers.

That said, talks I suggest watching:

Simplicity And Go -- This talk is a great counterpoint to everyone that says everything you need is in the stdlib.

Delve Into Go -- A great technical talk about the challenges that golang has with debuggers.

Go GC: Solving the Latency Problem -- Technical talk about the GC changes coming to 1.5.

The many faces of struct tags -- Food for thought on how you can better make use of struct tags. Russ Cox loved the expanded uses.

<comment><USER3> Dmitry Vyukov - Go Dynamic Tools [1], is the one that stands out to me. The Go-fuzz project which was at the core of the talk was linked earlier today [2]. Gotta love a tool that tells you "here's an obscure bug, RIGHT HERE!"

[1] [https://www.youtube.com/watch?v=a9xrxRsIbSU&index=7&list=PL2...](https://www.youtube.com/watch?v=a9xrxRsIbSU&index=7&list=PL2ntRZ1ySWBf- _z-gHCOR2N156Nw930Hm)

[2] [https://news.ycombinator.com/item?id=9960450](https://news.ycombinator.com/item?id=9960450)

</comment></comment><comment><USER4> There were a lot of great talks at this conference, including one on the new concurrent garbage collector (which is already in beta and hits stable sometime in the next few weeks).

My personal favorite, though, was Katherine Cox-Buday's talk titled "Simplicity in Go"[0]. It's really hard to write a talk that has value for people of all levels of experience (beginner to expert), and this one really stood out to me as an excellent example of one that does.

(Anecdotally, I've been writing Go full-time for 3 years now, and I found the talk valuable, as did a couple of my friends who have been writing Go for only a few months and also attended the conference.)

[0][https://www.youtube.com/watch?v=S6mEo_FHZ5Y&index=5&list=PL2...](https://www.youtube.com/watch?v=S6mEo_FHZ5Y&index=5&list=PL2ntRZ1ySWBf- _z-gHCOR2N156Nw930Hm)

<comment><USER5> It's interesting she mentioned Rich Hickey's simple made easy talk. I thought gophers ignored him, because they obviously don't have a problem with mutable state.

Fliam also mentioned Hickey in his talk. It was something about place oriented computing.

<comment><USER6> I love Go, I love Rich Hickey and I love clojure. I don't understand the confusion.

<comment><USER5> No confusion. Hickey seems to strongly dislike mutating shared state. Go doesn't care so much as to enforce that in the language. Hickey is in favor of clear multi-tasking conventions, but go code can do it many ways.

</comment></comment></comment></comment><comment><USER7> I hoped this would be a conference about retro uses of the Gopher protocol in 2015. No such luck.

[https://en.wikipedia.org/wiki/Gopher_%28protocol%29](https://en.wikipedia.org/wiki/Gopher_%28protocol%29)

There are probably people reading this who were born well after Gopher's heyday.

<comment><USER8> I am actually interested in reviving gopher I am wondering if folks would interested - or has any recommendations for a first step would be.

<comment> vezzy-fnord No need to revive it, it's alive if not thriving.

I'm not sure what the first step should be (well, other than setting up a gophersite, reading the RFCs and looking at some implementations), but given that it maps very well to a hierarchical file system, you could position it as a bookmarking tool or something of the sort.

Or you could create an easy way for people to set up their own phlogs and discover others. Position them as convenient alternatives to static site generators while emphasizing Gopher's traits.

Either way, it needs to capitalize on people's discontent with web bloat in some way.

<comment><USER9> > it's alive if not thriving.

Really? Any evidence to support this? I'm curious.

</comment></comment></comment></comment><comment><USER10> I really enjoyed this conference, specially the talks on CSP, Mobile, The new GC and "What Could Go Wrong". I also hope to see Kelsey Hightower in stage again in GopherCon 2016, he was awesome as MC.

</comment><comment><USER11> rsc's talk was really good. Glad some of the best minds from the Bell Labs team are thriving at Google now.

Uriel would have been very proud to see this day. Rest in peace.

</comment><comment><USER12> I thought this was gopher:// conference. I got very excited and then realized it was not.

</comment><comment><USER13> the best part. finally generics in Go [https://github.com/facebookgo/generics](https://github.com/facebookgo/generics)

:P

<comment><USER14> too soon.</comment></comment>