Google's Eric Schmidt on why bankers deserve little sympathy and Obama does - <AUTHOR> http://www.telegraph.co.uk/finance/financetopics/davos/6953842/Googles-Eric-Schmidt-on-why-bankers-deserve-little-sympathy-and-Obama-does.html

<comment><USER2> It is a little odd that Schmidt seems to be channeling Andrew Jackson, who refused to renew the charter of the Second Bank of the United States (emphasis mine):

"I too have been a close observer of the doings of the Bank of the United States. I have had men watching you for a long time, and am convinced that you have used the funds of the bank to speculate in the breadstuffs of the country. _When you won, you divided the profits amongst you, and when you lost, you charged it to the Bank._ You tell me that if I take the deposits from the Bank and annul its charter I shall ruin ten thousand families. That may be true, gentlemen, but that is your sin! Should I let you go on, you will ruin fifty thousand families, and that would be my sin! You are a den of vipers and thieves. I have determined to rout you out and, by the Eternal, (bringing his fist down on the table) I will rout you out."

<comment><USER3> While Jackson had a point (let's ignore that he himself was a major land speculator) and a particular bit of corruption of the above nature destroyed the 2nd Bank politically, the resulting denouncement (including requiring specie (i.e. gold) for payments of I forget) was as I recall one of the (if not the) longest recession/depressions in American history.

Yeah, the speculative excesses had to be wrung out of the system, and the sooner the better as Jackson points out, _but if you destroy or allow the failure of the banking system in the process_ (that one had some of both) the result is _horrible_. See also: the Great Depression in the US.

That was the argument for the TARP, and we can't falsify it and never could have. Continuing the TARP sort of thing (note this reply is made without the benefit of reading the fine article), though, risks one or more Lost Decades as we've seen in Japan.

If you're lucky; we don't yet know the denouncement of what's happening over there (didn't Great Britian require a century to recover from the South Seas Bubble (due to many factors)?) and the US is in a different position than Japan was and is.

<comment><USER4> On the other hand, resumption of specie payments following the greenback period during the Civil War was accompanied by economic growth (see Friedman's "Monetary History of the United States", one of these days I'll finish that book). There is no essential causal link between gold and depressions; if there were there wouldn't be so many goldbug economists.

<comment><USER3> Agreed, although I'm not at all familiar with that era (not really much before the bus at the end of the 19th century, I too need to read Friedman's tome, right after I finish _Human Action_ and 15 other good economic books :-) but I know this is _very_ complicated.

For the Jackson bust I just cite the specie payment requirement because it was a shock to the system of a bad sort. Jackson intended to pop a bubble but I'm not sure he thought the result would be as bad or as long as it turned out to be.

The only gold "causal link" I (currently) believe in is that it is good to have during a deflation, since it's "The only liquidity that doesn't depend on anyone else's liquidity," to quote an essay in the newsletter of William Rees- Mogg and James Davidson (although it's probably not unique in having that property).

</comment></comment></comment></comment><comment><USER5> he's full of schmidt. the private sector responds to the shitty incentives the government provides. the private mortgage market had no incentive to act responsibly because the government backed fannie and freddie were buying responsible and irresponsible loans indiscriminately. if banks had actually been holding the loans themselves they wouldn't have made such crappy investments.

<comment><USER6> This is not true. Fannie Mae has outperformed the rest of the private sector in terms of loan performance (non-delinquencies). The organization also lost market share throughout the bubble to private sector lenders, not the other way around.

[http://real-estate-and-urban.blogspot.com/2008/09/charles-ca...](http://real- estate-and-urban.blogspot.com/2008/09/charles-calomiris-and-peter-wallis.html)

<comment><USER7> Your link provides no data supporting the contents of your post. There is a graph which ends in 2003, from which the blogger draws the same conclusion as you (Fannie has better non-delinquency rate). The graph does not show delinquencies at all, so I'm not sure where he is drawing this conclusion from.

</comment></comment></comment><comment><USER8> Eric's been hitting all the high notes lately. I'm waiting for his pronouncement on climate change.

</comment><comment><USER9> There's a bit of irony in the CEO of an advertising company complaining that people overspent their means. A man who profited from promoting consumption thinks there was too much consumption.

<comment><USER10> Please grind that axe elsewhere

<comment><USER9> Downvote me all you want, but the bubble was caused by the desire of the people to consume outstripping their ability to create value. Advertising aims to increase the desire to consume.

Which of those statements is false?

<comment><USER11> _"Advertising aims to increase the desire to consume."_

That statement is false (or more correctly, not necessarily true). Take toilet paper for example, you see a lot of marketing for toilet paper, but I seriously doubt the total market size for toilet paper is really being increased dramatically via marketing.

No, the advertising isn't meant to make people wipe their asses more, it's to _steal market share from competitors_. Consumption in this case has not risen, only redirected to another producer.

So no, not all advertising aims to increase the desire to consume _in general_ , it simply increases the desire to consume _a particular product_ , very possibly at the expense of other consumption.

Furthermore, there is substitutability of goods - if Bob's Toilet Paper works as well as Joe's Toilet Paper, and costs 30% less, consumers are _reducing overall consumption_ (by dollar value) thanks to Bob's shrewd marketing. Not all advertising results in a net loss for the consumer.

It is patently false to claim that all marketing acts explicitly against the interest of those it advertises to.

<comment><USER9> >It is patently false to claim that all marketing acts explicitly against the interest of those it advertises to.

So it's a good thing no one has claimed that here.

<comment><USER11> You're claiming that Google/Schmidt is being a hypocrite for condemning over- spending, while being in the marketing business himself... as if his work naturally leads to consumers overextending their finances.

I'm telling you here that marketing does not at all necessarily encourage spending beyond one's means - and in fact in many cases saves consumer money. What Schmidt does is really morally very neutral, I do not see the need to single him out for it.

<comment><USER9> I am saying that encouraging consumption does tend to lead to over- consumption. Equilibriums exist in textbooks, but in the real world there's a clear tendency for oscillation in economic markets. If you're pushing one way, yeah, you're a part of the problem when things go over the line in that direction.

Advertising is nowhere near neutral in its effects on consumption. Sure, it may have some minor effect that reduces consumption, but taken as a whole that's not what it does at all.

Note here this is different from what you're reading into my position. I'm not saying marketing is inherently bad. But I am saying that it does push in a direction, and too far in that direction is bad.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Clueless.

"I want to be clear here that the blame, to the degree that there was, is largely in the United States, not in Europe, not in Britain."

Because the American branch of the Illuminati run Iceland, Northern Rock, those German manufacturers who were having to finance their customers because banking disappeared, and so forth?

"And it was fundamentally because a low-interest policy created too much money. It was an easy-money policy and eventually an easy-money policy catches up with you."

Most of the bubble money supply came from leverage (massive fraud with a sprinkling of "deregulation"), not interest rates.

<comment><USER13> NRK collapsed due to buying US sub-prime mortgage deals. Buying them was a bad idea, and putting all its eggs in one basket was worse, but I think Schmidt is getting at the fact that these deals were available in the first place and no- one thought they were a bad idea. NRK is also small fry compared to Mae and Mac.

As for leverage/deregulation,

"So the banks are busy creating money and making a lot of money on that creation of money and the regulators were either, depending on your point of view, asleep at the wheel or did not have the tools to understand what was going on"

<comment><USER3> At least a few people thought they were a bad idea, but Bush and his style of Republicans wanted an "ownership society" and Barney Frank and company wanted to "roll the dice". A nice bipartisan mess they've made ... although it should be pointed out that there were _many_ housing bubbles and then busts (e.g. Ireland, Eastern Europe, Germany had to do some nasty real estate company rescues but I can't remember how much they were residential; heck, not counting basket cases like Japan, wasn't Canada about the only country to avoid a bank mess???).

Which suggests to me that there was an underlying problem (e.g. too much cheap money) and real estate was just where that happened to bubble up. And it's a particularly destructive area, the dot.com (actually mostly telecom) bubble was much less worse for the nation at large, bad though it was for us.

Bottom lin: there would have been a bubble _somewhere_.

</comment></comment></comment><comment><USER14> What the hell?

<comment><USER15> Sounds about right, but it'd be nice if you elaborated on that reaction.

</comment></comment><comment><USER16> _"I want to be clear here that the blame, to the degree that there was, is largely in the United States, not in Europe, not in Britain," Schmidt said._

... Right. I would be more concerned if this remark wasn't coming from a man who is little more than the world's best-paid babysitter. I am sure he would be delivering a different line if he were talking to the New York Times.</comment>


Show HN: The best 60s tech podcast highlights - <AUTHOR> http://getshuffle.app/newsletter <comment><AUTHOR> One thing that helped me break into Silicon Valley tech when moving here from Singapore as a PM for Coinbase eons ago was listening to tech & VC podcasts.

Excited to launch Shuffle's newsletter to help everybody discover the best ideas and insights from top tech & VC podcasts. Get the top 60-second podcast highlights in your inbox, a few times a week.

These podcast highlights are currently being curated by folks from Google, FB, Youtube, Coinbase etc -- comment if you listen to any tech & VC podcast religiously and if you want to be featured as a curator! We'll give you early access to the product.</comment>


Real-life one time pad used by the CIA for crypto (Photo) - <AUTHOR> http://www.flickr.com/photos/ciagov/5416213309/

<comment><USER2> I'd take issue with the description: "If used as designed, encryption by OTP is virtually unbreakable."

If used as designed, encryption by OTP is provably unbreakable.

<comment><USER3> More specifically, it is provably unbreakable because all possible plaintexts are equally as likely as the actual plaintext for the encrypted message.

</comment></comment><comment><USER4> I want that font.</comment>


Tell HN: Bay Area YC applicants morale-booster meetup/hangout this Saturday - <AUTHOR>

Hey everyone, you've worked hard on those YC applications and now it's time to celebrate! Come meet and hangout with fellow YC applicants this Saturday, November 17th at 6:00 at the Tied House in Mountain View: www.tiedhouse.com.
Past, present, and future YC applicants are all welcome. It doesn't matter whether you got in or have an interview invitation, you should come meet and celebrate with awesome people anyway!
If you can't make it this time, that's okay, we'll do this again.  Contact info's in my profile if you want to drop me a line.
Not in the Bay Area? Check this post for people organizing meetups in other places: http://news.ycombinator.com/item?id=4775943 . And we'll cheer for you from afar.
Good luck everybody!
(A note on the location: I know there are way cooler bars where we could meet, but lots of applicants and HN readers are underage and Tied House accommodates everyone.) <comment><AUTHOR> Hey guys and gals! I know this thread looks bare but people have been responding by email. The meetup is definitely still happening and we hope you'll join us!

Shoot me an email (contact info in profile) so I could add you to the headcount. Cheers.

</comment><comment><USER2> I'll be _just_ getting to SF on Saturday. Can anyone confirm that Caltrain would be a good option to go back and forth from SOMA?

<comment><AUTHOR> Yes. Caltrain stop in Mountain View is a five minute walk from where we're meeting.

<comment><USER2> Perfect, thanks!

</comment></comment></comment><comment><AUTHOR> Patio in the back of Tied House. Going on right now for you stragglers who can't make up your minds :) you're still welcome!

</comment><comment><USER3> Is this still scheduled to occur? I'm in the area and would love to meet up. How many ppl are likely going to show up?</comment>


Verizon will drop phone contracts, end discounted phones - <AUTHOR> http://news.yahoo.com/verizon-drop-phone-contracts-end-discounted-phones-201530971--finance.html <comment><USER2> This should ostensibly be a good thing. I pay $300-500 upfront, and then my bill goes down from $90/mth to something more reasonable like $60/70.

In practice, however, what I imagine will happen will be that they'll tack on all sorts of fine-print fees and other obnoxious gotchas such that the end bill will probably be about the same...plus the fact that I just paid $500 for the damn phone.

Look to the airline industries. Did they stop their absurd baggage checking fees when the price of gas went down?

<comment><USER3> > Look to the airline industries. Did they stop their absurd baggage checking > fees when the price of gas went down?

Well, baggage isn't costless to the airlines. In theory thing should be more efficient if the consumer saw approximately the correct price. I just wish Kayak would start showing prices assuming 1 checked back by default, and give you the option to specify how many you expect to bring. That would remove a lot of the incentive for those gotcha charges.

<comment><USER4> How often do people travel with checked bags? Even for a two-week trip, I typically bring an overhead carry-on and a backpack.

<comment><USER5> Lots of infrequent traveler friends of mine will bring a full-size suitcase for trips of a few days - a week. I personally love running off the plane and into wherever I've landed to explore, but not everyone travels so light.

</comment></comment></comment></comment><comment><USER6> Verizon still plays games with phones purchased through them, however. Their new plan, "Edge", is only discounted to a reasonable rate if you also purchase a phone from them through monthly installments. The cheapest phone they offer that qualifies for this discount ($15/m) is $200.

So, no bringing your own device, unless you like paying more for the same service.

<comment><USER7> Except you can't bring your own non-verizon device, even if it is LTE, they won't allow it on their network.

<comment><USER8> I thought they couldn't discriminate on devices. When government auctioned off the old TV frequencies, thats was part of the agreement. LTE is using these bands.

<comment><USER9> They can't stop you from using a device that technically works on their network.

Say for instance you bring an unlocked AT&T iPhone 6 to Verizon. If you have an existing sim card (all LTE devices have them even on Verizon), you can simply swap your sim card into the device and it will activate automatically and work just fine. However, if you take that device into the store and need to get a sim card, they will refuse to give you one as they only activate devices that are on their whitelist.

A way around it would be to just borrow someone else's Verizon LTE capable smartphone to activate temporarily to get a sim card and then just swap it into your device you want to use.

</comment></comment></comment></comment><comment><USER10> I think this should put price pressure on the phone manufacturers. With the price tag of the phone out in the open, customers will now realize the actual cost of the phones and start selecting lower price models. Most people do not realize what the retail price of a phone is since it is so heavily subsidized by the carriers.

<comment><USER11> It also means people won't wastefully buy new phones every two years. Under the contract system, customers were given the chance to upgrade their phones every two years for free or whatever small additional fee particular phone models would cost (e.g. iPhone would be $100, but a cheap Nokia would be free). It was a waste not to upgrade, so oftentimes perfectly good phones would get replaced just because you had to upgrade. It also meant renewing the contract, allowing carriers to force customers into new terms every two years.

What an abusive system. For all of T-Mobile's faults, I'm glad I switched to their no contract plan years ago.

<comment> Lx1oG-AWb6h_ZG0 The trouble is, most flagship phones are made these days under the assumption of a two year use. I bought a HTC One M7 two years back because it was the best Android phone available then, but it's now barely usable: I have to charge it twice a day, the camera has this ridiculous purple tint, the latest Android is bog slow on it, and its out of warranty.

I've been using the same PC for five years with no problems, so I bought my phone at full price from HTC thinking I'd use it for a similar lifetime, but it's really a PITA to use now.

<comment><USER12> That's been my experience with Android phones. When I bought an S4 when it first came out it was barely usable with all the bloatware from AT&T and Samsung. The battery should run down within 8 hours. I flashed the Google edition and it helped but I couldn't stand it. Same stuff happened after 12 months, decreased battery life, slow and sluggish.

Switched backed to an iPhone 6 when it came out and haven't looked back. It's been great and the past 8 months nothing had shown down and my battery still lasts a full day of browsing and Spotify.

<comment><USER13> iOS8 battery life on pre-2014 hardware has gotten worse with each update. Hopefully iOS9 will remedy the situation for pre-2015 hardware.

<comment><USER14> I have heard quite a bit about that and I've no doubt it's the case. There's just no priority for Apple to support their older hardware, although I think it got somewhat better between 8.0 and 8.2.

If you're inclined to do it yourself then I recommend trying to replace the battery. You can get a high quality one from ifixit for around $20-25 and it does make a nice difference.

<comment><USER15> I've an iPhone 5 purchased in January 2013 with a new battery from iFixit from this past February and there are just certain apps that absolutely kill battery life regardless of which release of iOS 8 I use.

Though Apple has made their new software versions for their new hardware I think overall performance since early iOS 6 releases has been consistent on iPhone 5+ with the various exceptions for bugs. The problem I see is with devs for large deployments (Google, MLB, Yahoo, etc.) ONLY take into consideration the new hardware. My MLB.tv subscription which includes At Bat app has become such a drain on my battery since the start of the 2015 season. Even streaming radio broadcasts will use 50% of my battery after 5 or 6 innings with the screen locked as in NOT DISPLAYING ANYTHING! 2 years ago a Red Sox/Yankees game (4+ hours) would use maybe 20%.

Weekdays, I get a couple hundred emails plus 10-30 calendar notifications per day from personal and work Google managed domains. Easily that takes up 20-30% over an 8 hour workday with all the fetch. Previous employer with Exchange and push using Active Sync was maybe 10% usage per 8 hours. Weekends of course I rarely see the drain at all in regards to mail.

Point is, I know I'm at EOL with iPhone 5 but I at this point can't really blame Apple as stock (and on weekends unless streaming a ball game) battery life is as consistent as the day the phone was purchased.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> In Europe less and less people buy subsidized phones.They want their subscription as cheap as possible and without any string attached. It might not be a good deal if you want an Iphone though,so they should keep that option for Apple customers. But when you can get an android phone for 50€ there is very little reason get a 2/3 years contract.

However :

> Under the new plans, customers will pay $50 for 1 gigabyte (a price increase > for both groups) and $65 for 3 gigabytes (a price cut). The 2 gigabyte plan > is being discontinued, so customers will have to choose more or less.

It is fn. expensive when compared to EU prices. Why is that?

<comment><USER17> "It is fn. expensive when compared to EU prices. Why is that?"

In the US, there are only 4 major cell phone carriers and their plans are so similar in price, it might as well be a monopoly.

<comment><USER18> Does Europe have 4 major competitors in each country? I seriously doubt it. It's probably the opposite. They have three or less true operators and they each have more spectrum at a lower cost.

The cheapest option would be a single carrier regulated by government. But they might not upgrade as fast. So we might have super cheap 2g instead of expensive LTE A.

<comment><USER19> We've got 3 major ones in the Netherlands. There's over a dozen carriers but they all use one of these networks.

Not super familiar with the rest of Europe but the larger countries have 4 operators as far as I know, like the UK, Germany, Spain, France... but there's also plenty of smaller countries that have four, like say Greece. Sweden afaik has even 5, and the Ukraine iirc has 6.

Anyway it probably has to do with density. I was flabbergasted when I studied in Canada and ended up seeing phone bills that were like 3x my own back home where we have only 3 operators. But it's pretty easy to cover the size of the Netherlands cheaply, as for Canada or say the US... different story. (although in Canada regulation also played a big role, it wasn't a very competitive market)

</comment></comment></comment></comment><comment><USER20> It doesn't sound simpler or cheaper to me. If you include the price of the phone, it can easily end up being more expensive. And they still have a different cost for people bringing their own phone...

</comment><comment><USER21> I'll be curious to see if this has any impact on phone pricing. Without the subsidy, I doubt as many people will upgrade as often, which will slow phone sales.

<comment><USER22> It shouldn't, since they're introducing installment plans instead. So your monthly bill won't really go up.

</comment></comment><comment><USER23> The contracts were a scam. Seems great at first, but eventually you realize you already paid for your phone and are just getting fleeced. So you try to leave one month before the contract ends for a service that is half the cost, and they nail you for $200. Only your credit is already useless, so they don't get the $200 and instead just get a lot of angry former customers.

</comment><comment><USER24> Ugh, I hate this article because it just buys into the industry PR terminology. Buying a "subsidized" phone doesn't mean the big phone company is cutting you a deal, being nice to you, and putting money in your pocket. No, it's providing financing for a phone purchase at an effective APR of around 100%. It's ridiculously lucrative for them.

<comment><USER19> Exactly it's just a loan, buying a phone on credit and paying it off monthly. It's like saying buying a home with a mortgage is buying a subsidised home, just ridiculous.

</comment></comment><comment><USER25> While there is much celebration of the end of contracts, a contract has benefits from each side. While you may not be happy with the amount you have to pay, it can't change for the duration.

Now it appears that everyone will be month to month by default which means the bill can (and will!) change at any time.

<comment><USER17> A decent carrier like T-Mobile who has had no contracts now for years will not do this, except to offer lower priced plans, which they have.

</comment></comment><comment><USER19> I like it, it means the purchase of your phone and your contract are separate. This makes total sense from a consumer perspective, the fact they've been on the same contract for so long is absurd.

Imagine buying a laptop with an internet subscription for two years. If you happen to go on vacation or move countries, or sell your laptop to buy a new one... well tough luck you're still paying for that, usually non-transferable, contract for service you're no longer using. You can apply this to anything, like buying a television with a two year cable contract, it's just silly.

That model worked years ago. Today we're seeing customers on the move much more, and I'm personally seeing more turnover of equipment, too.

It doesn't really have anything to do with 'discounts'. Vendors weren't running a charity and they're not ending any discount, they're simply structuring everything a little differently, I think that makes sense.

Part of this trend is probably both consumer-driven (I wouldn't be surprise if this was a response to a growing number of consumers requesting and complaining about ending long-term contracts for sensible reasons like switching phones, country or even simply carrier), as well as driven by changes in law.

For example here in the Netherlands, a discounted phone is now seen as a loan. And loans have certain legal requirements. For example when you advertise or offer a loan, you must very visible (like a cancer warning on cigs) say 'Attention! Borrowing money costs money', which links you to a government initiative to inform about the risks of loans. Another requirement is that the vendor is transparent and clear about the costs of the loan, and it's in a standardised format that is very hard to structure in a way that it looks really good but really screws with you (like US payday loans). The loan must also be checked against the de facto debt-service coverage ratio of the individual if it's high enough, and then gets registered. All these things happened recently in response to the learnings from the consequences of predatory loans in the financial crisis.

And it is a loan, if you get a free phone but pay a higher monthly fee, it's not much different from buying a house on a mortgage and paying a monthly fee, only it's smaller in scale and timeframe. Because of this, the phone and the data plan are advertised separately, even if they're sold as a bundle. You can still get a phone with $0 upfront, but it's advertised as a loan transparently and separately from the dataplan. I wouldn't be surprised if stuff like this becomes a best practice standard worldwide pretty soon, and so perhaps carriers are making changes ahead of time.

<comment><USER26> Americans have very different attitudes to loans, compared to Europeans: you do not borrow - you are missing out what life offers to you.

<comment><USER27> Given the very high levels of household debt in most of developed Europe, I have to disagree with your premise.

See: Netherlands, Denmark, Sweden, Ireland, Portugal, Finland, UK, Switzerland, Norway, Spain -- all of which have either high or very high household debt to income ratios due to "loans."

<comment><USER26> I am talking about consumer debt.</comment></comment></comment></comment>


Introduction to Pandas and Vincent [video] - <AUTHOR> https://www.neckbeardrepublic.com/screencasts/pandas-vincent <comment><USER2> For anyone else who was similarly confused as to what this was even about without watching the video: Pandas is a Python data analysis toolkit, and Vincent is a Python library that makes it easy to build D3-based visualizations from Python.

</comment><comment><USER3> Just FYI, it looks like an interaction between SublimeVideo and HTTPS Everywhere appears to prevent the video from playing -- unchecking SublimeVideo in the HTTPS Everywhere options seems to fix the problem.

<comment><USER4> I don't seem to have an issue.

<comment><USER3> Odd. I can uncheck/check the SublimeVideo option and reload the page and it will either show the video as a static image or give me a play button. I'm on Mac Chrome 29.0.1547.76. Maybe my corporate firewall is messing with it somehow.</comment></comment></comment>


Ask HN: How do I get started writing a personal bill pay service? - <AUTHOR> I've done some research to see how to create a bill pay service, but I can't seem to find the right answers. I understand that there are a number of challenges writing this (security, authentication, accessibility, etc.) but the broader vision is to be able to create a service that can help me help my parents manage their online profile and pay their bills.
My first thought is to try to create a simple bill pay service for myself to see if I can get a  crude POC going. Essentially, I would like to be able to aggregate a number of utilities, online services, etc where a manager can help another person pay for their bills, rather than logging onto 10 different sites to facilitate this.
What resources can I consult to build a simple bill pay service? Thanks! <comment><USER2> I used to use this:

[https://www.huntington.com/Personal/online-banking/bill- pay](https://www.huntington.com/Personal/online-banking/bill-pay)

</comment><comment><USER2> [https://www.dwolla.com/white-label/](https://www.dwolla.com/white-label/)

</comment><comment><USER2> [https://utilityapi.com](https://utilityapi.com)

</comment><comment><USER2> [https://teller.io](https://teller.io)

</comment><comment><USER2> [https://plaid.com](https://plaid.com)

</comment><comment><USER2> [https://lob.com](https://lob.com)</comment>


Review my (redesigned) app - <AUTHOR>

Hi,
I had asked here for advice on how to redesign an existing web app about six months ago - http://news.ycombinator.com/item?id=683941
Finally I worked on it for a couple of months and launched a new version that can be found at www.muziboo.com
I have primarily tried to keep it simple yet functional. Based on general advice I see here, I have also tried to make it load real fast (css sprites, load js at last etc).
I would appreciate any feedback on the looks/usability/general stuff.
Thanks! <comment><AUTHOR> Clickable link - <http://www.muziboo.com>

</comment><comment><USER2> Do you know Grooveshark? Their interface is great for music.

<comment><AUTHOR> Thanks for the comment. Yea .. I have checked out grooveshark. However, in Muziboo I am trying to stress more on the community and interaction than just listening to a stream. Do you think I am not conveying that well?

<comment><USER2> I think different people perceive a UI differently. But, I think it's not so obvious that you want to endorse community communication. Finding/selecting and playing music should be easier.</comment></comment></comment>


Why are garbage collectors so important? - <AUTHOR> The real world experience I have in C++ has been embedded driver development. I've never written a program in a binary compiled language large enough to experience major side effects from improper manual memory management.<p>I know that Go, Lisp and many other compiled languages have Garbage Collectors. Why would they choose to, given the performance cost? <comment><USER2> My take as a hobbyist in this area:

In highly complex, long running systems, it's very difficult to know automatically when memory is no longer needed.

Reference counting, and its draconian creepy uncle malloc()/free(), require programmers to be very careful about when they free memory.

This is a life of tossing in turning in bed: Did you carefully free before you returned in that error handler?

C++ has the benefit of strict compile time analysis, and a lot of the confusing bits have sensibly been pushed to the standard container types' implementations.

Dynamic systems with diverse "types" and millions of collections of objects, especially ones that are likely to contain "cycles" and references to each other, often take other approaches that aren't as "match up the alloc() and free()"-oriented, such as periodically scanning the entire object graph and deleting stuff that couldn't be reached.

Madness! But runs like hell when the graph is small and most people won't feel the burn. An ongoing area of research.

</comment><comment><USER3> They're going for a different kind of performance. Memory safety eliminates entire classes of problems, freeing the programmer to focus on other things. For the vast majority of software projects, the performance is more than adequate, and the benefits are well worth the costs.</comment>


First Nation To Go 100% Solar - onreact-com http://cleantechnica.com/2009/07/21/first-nation-to-plan-100-solar-power-its-tuvalu/

<comment> onreact-com It seems the situation must turn desperate for nations to act. Tuvalu is almost drowning so they go solar. When will the US follow suit?

<comment><AUTHOR> I'd be willing to bet we hit cold fusion long before we get it together to use today's forms of clean energy.

Something about this article doesn't seem right. $20,000,000 provides solar for 12,000 people? So it costs about $1700 a person. They must not be using air conditioning.</comment></comment>


Airbnb hosts can kick you out after you've checked in - <AUTHOR> Https://techcrunch.com/2018/03/22/airbnb-hosts-can-kick-you-out-after-youve-checked-in/ <comment><USER2> ' The host gave Kugler 48 hours' notice to leave the premises. ' not horrible, considering the stay was meant for a month.

</comment><comment><USER3> Welcome to the new "normal". I got burnt years ago trying to use Airbnb and I learnt my lesson.</comment>


Show HN: Monetize your Telegram supergroup/channel - <AUTHOR> https://www.telemonetize.com <comment><USER2> There are more and more paid communities on Telegram, what stack and payment system are you using right now?

<comment><AUTHOR> My stack is Rails on the back end, ruby for the Telegram Bot, Bootstrap and plain javascript on the front end, Stripe for the payment system.</comment></comment>


1.5M Packages a Day Bring Chaos to NYC Streets - <AUTHOR> https://www.nytimes.com/2019/10/27/nyregion/nyc-amazon-delivery.html <comment><USER2> The problem isn't trucks -- obviously, it's _hugely_ more efficient for a single truck+driver to deliver 100's of packages in a single day than for 100's of individual people to spend an hour each going to/from a store, and even worse for congestion if even more than a few are taking individual vehicles.

The problem is parking. And the solution is obvious: multiple truck-length parking spaces along each and every block, for _exclusive_ use by delivery vehicles, car ride services waiting for pickup, and moving vans. Which, logistically, would be relatively trivial to implement -- just painted lines and signs. Street parking needs to be reprioritized for the needs of 2019, not 1950.

It's insane and irresponsible the article doesn't even suggest street-level fixes like this, and instead seems to imply that the problem is with irresponsible/unconstrained trucking/deliveries.

Most misleading quote of the article: ""What percent of your deliveries are truly urgent — 5 percent or 2 percent?" said Mr. Holguín-Veras, the Rensselaer professor."

What has urgency got to do with it? Whether my package gets delivered in 1 day or 7 days, it doesn't change the number of trucks on the road. And if it's truly urgent, then that's when I'm running to the store, not ordering a package. _Sheesh._

<comment><USER3> Your solution is effectively corporate welfare. The free market should determine whether customers will order packages or not.

Also, you are suggesting that the government should provide an easier means for businesses to serve their customers in a way that gives them an advantage over the local businesses that pay local taxes on purchases.

The real solution is to make delivery companies pay for the congestion they cause. A fair use tax, for example. Then, using that tax revenue, you can improve traffic. The delivery companies can pass their costs on to the retailers and the retailers can pass the costs on to the customers. The customers can then decide whether they wish to pay more or shop somewhere else.

<comment><USER4> > _Your solution is effectively corporate welfare._

The current state of affairs is corporate welfare too. With an added side helping of externalities imposed on other traffic.

I think you're touching on the fact that _all_ road surfaces in NYC are a massive net wealth transfer to those who drive on them or (especially) park on them.

I agree. Either charge the full economic rate for use of the road, or turn it over to public transport, or some mix of these.

<comment><USER5> We should be phasing out roads for non-delivery traffic in urban areas anyways.

<comment><USER6> So no buses in urban areas?

<comment><USER7> Buses are just trucks that specialize in delivering people.

</comment></comment></comment></comment></comment></comment><comment><USER8> > They racked up more than 471,000 parking violations last year...

I knew someone who owned a trucking company. They had a lawyer on retainer and every month or so they would gather all the parking tickets, go to a judge (or city official) and cut a deal to pay a fraction of the actual owed amount for all the tickets. This is because, if they did not comply, each ticket would be fought tooth and nail, and the city would be wrapped in legal red tape forever.

<comment><USER9> This is common in NYC. The biggest violators should be paying the most, but instead, they pay the least per violation because they bargain down the fines.

Here's a pretty typical fine record for a truck that was illegally parked in the bike lane during my commute this week: [https://twitter.com/CydeWeys/status/1188467550822293512](https://twitter.com/CydeWeys/status/1188467550822293512) (expand all replies) And note how they're getting a reduction in fines: [https://twitter.com/HowsMyDrivingNY/status/11884675886255882...](https://twitter.com/HowsMyDrivingNY/status/1188467588625588225)

And Streetsblog has written an entire series of blog posts on it: [https://nyc.streetsblog.org/category/issues- campaigns/stipul...](https://nyc.streetsblog.org/category/issues- campaigns/stipulated-fine-program/)

<comment><USER10> What are they supposed to do? There's a difference between the letter of the law and reality.

You need deliveries and couriers to make a city work, and NYC is no different.

<comment><USER11> Problem is that only people or companies with deep pockets can violate the law that way. If you don't have money for lawyers you have to pay the tickets.

That's how end up with a two class society where some people are above the law.

<comment><USER12> I don't know what it's like in NY, but in my state you can take a driver safety course and cut your fees down considerably.

<comment><USER9> If taking such a driver safety course actually meant that people didn't park illegally, then it'd be a huge success, and would be well worth it. But the not parking illegally part itself would be by far the greatest reduction in fines.

</comment></comment></comment></comment></comment></comment><comment><USER13> _In Paris, freight trucks enter the city at night and deliver packages to smaller warehouses near homes. In the morning, bikes and electric vans haul them to people's doorsteps. Some neighborhood convenience stores and flower shops double as pickup spots for packages._

European model seems like a good one to copy here.

<comment><USER14> On paper, it's a perfect system. In reality, failing businesses who want the extra income sign up to be package pickup spots, and then provide deplorable service.

Some don't respect the opening hours that were published. Some literally climb over mountains of packages. Some have no organisation. Delivery companies realised that they no longer have to attempt deliveries so automatically dump their packages in the pickup points. Most pickup points end up loathing people who comes to pick up packages: the customer hates the lack of service and resent that their package wasn't delivered, the shop resents that they have even less time for their failing business, and take this out on the package customers.

The worst part is, 90% of the time you can't control if a package goes there.

<comment><USER15> UPS already tried doing this a few years ago in Brooklyn,[1] but not Manhattan apparently.

I was subjected to this a few years ago.

Instead of being greeted at the end of the day with my shiny new $300 phone, they left it in a pile on the filthy floor of a local bodega three blocks away. Then, after finding it, I have to wait in line and have my ID scanned and sign for it. And I paid for overnight shipping but if I don't rush home, I have to wait until the next day.

My neighbor hated it more than I did. So, she started "stealing" her packages from the bodega. It turns out that if you don't sign for the package, they return it to the sender after a week and you get a full refund. So you can easily double dip by not signing for it and also getting a refund. And the local business is responsible for package being lost.

After two months, the local bodega stopped hosting packages, presumably because they were having to eat the cost of losing packages. Since there were no other businesses nearby willing to do this, UPS was forced to resume delivering to our building.

While this is an effective way for people to shut this kind of thing down, I'm sure it must be illegal. At least if you get caught, it is fairly deniable, since the package has your name on it. But it is probably illegal to interfere with a package being delivered.

Please do not do this. You are stealing from the merchant.

[1]: [https://www.ups.com/us/en/services/e-commerce/b2c-delivery-s...](https://www.ups.com/us/en/services/e-commerce/b2c-delivery- solutions.page)

<comment><USER16> Taking the package and claiming a refund is obviously fraud but it sounds like the business was also not properly safeguarding the packages.

Why not keep them under the counter?

<comment><USER15> No, you don't claim a refund. She showed me that her Amazon tracking number showed that the package she didn't sign for was listed as returned with no signature, and she was given a refund.

It seems like something that can easily happen by accident. I can understand why she was frustrated. After being on a crowded subway, I hated having to go into a crowded store and wait on line to get my package. But I did not agree with her knowingly exploiting this to get free stuff. I know that she told other people in our building how to do this. I don't know if this led directly to the bodega not receiving packages anymore, but I'm sure that someone had to pay for it.

I would not be surprised if these access points were a major vector for mail fraud. At this particular bodega, not just did we have to wait on line, but sometimes we'd have to wait for the clerk to deal with other customers on a different line. So I can easily see how she would have made off without signing.

I never had a choice in the matter. I think it was theoretically possible to opt out, but I would have had to make a UPS account, and even then it was not a guarantee. I personally really resented how the shipping status would be changed to something like "For your convenience, we will be delivering to an access point instead". Even on Saturdays when I was home and able to receive, they didn't even bother sometimes and would just drop it off at 7PM at the bodega. Not convenient.

</comment></comment></comment></comment></comment><comment><USER17> > "What percent of your deliveries are truly urgent — 5 percent or 2 percent?" > said Mr. Holguín-Veras, the Rensselaer professor. "We as customers are > driving the process and to some extent creating these complications."

As a NYC resident, it's not really a matter of urgency. Identical products are generally much cheaper online (and generally with free shipping). And it's much more convenient since the products get shipped straight to my apartment which removes the need for me to navigate poorly stocked/organized stores and then carry it back to my apartment by walking, taking the subway, or the bus.

A lot of the time, it's actually difficult to find certain goods in stores here (or to know which store to go to). Recently I've purchased: calipers, a high torque servo motor, and playing cards online. I honestly don't know where I could find calipers and motors in stores here. I've tried buying playing cards in stores, but I could not find a reasonably sized package in stores that are also in stock. I've found 6 packs of playing cards in stores, but the regular 1 or 2-packs are always out of stock. I seriously tried for two months to buy the cards in store before giving up and buying it on Amazon.

<comment><USER18> I live in Canada but have family in the US. I was visiting once and was ordering some things on Amazon. Amazon offered me coupons if I delayed shipment of items. I wish Amazon would expand this offering to other countries. I'd be happy to have packages combined into a weekly or biweekly shipment. If I need something right away I could indicate that, but for the most part I don't need things same day.

<comment><USER19> It isn't all that great in practice. At first, they were offering a dollar off music purchases (which I wasn't making). Once i moved to an area that no longer had 2 hour delivery (prime now) they started offering coupons for prime now orders... I HAD been using that on occasion, but couldn't any longer.

It's almost like it was a gimmick that they didn't really care about...

<comment><USER20> Amazon wants people to request things immediately. It's harder to do effectively, so there would be less competition.

</comment></comment></comment></comment><comment><USER21> Last month I was moving out of an apartment in midtown. My entire block, avenue to avenue, is a no standing zone for some reason. The doorman said it was just changed a couple years ago. I rented a moving truck, parked it in a garage for $60 while I finished packing up, moved the truck to the building entrance where UPS/Fedex trucks are constantly parking, put the hazards on and loaded up the truck with my stuff as fast as possible. Still got a ticket. I am really confused as to how a law-abiding person is supposed to move out of their apartment while not getting a ticket? Especially when UPS trucks seem to have no issue standing around there for hours.

<comment><USER22> > how a law-abiding person is supposed to move out of their apartment while > not getting a ticket?

You can't. Paying tickets when moving in or moving out is just part of the cost of living in midtown.

<comment><USER21> That seems like crappy policy to me. Next time I'm just going to leave the moving truck parked in the no standing zone all day instead of first paying a $60 garage fee, if I'm going to get a ticket anyway.

</comment></comment></comment><comment><USER9> A few thoughts as a bike commuter in Manhattan who sees this first hand every day:

The congestion tax can't come soon enough (and it should have no carve-outs, certainly not for people who live here).

We need to get rid of lots of free on-street parking in the city and replace it with loading zones so that taxis/Ubers and trucks have free spaces on every block to conduct their business without blocking travel lanes or bike lanes.

The constant blocking of bike lanes by trucks and cars is super dangerous, kills multiple people per year, and when the police do enforce these infractions at all, all they can do is write up some measly tickets that the truck drivers write off as the cost of doing business since they've already accumulated hundreds of them. No joke: Here's a truck I reported in the bike lane that's closing in on a thousand tickets: [https://twitter.com/Reported_NYC/status/1187381912253411328](https://twitter.com/Reported_NYC/status/1187381912253411328)

There are two solutions to this problem, both of which should be undertaken: Bike lanes should be actually physically protected, so that vehicles cannot enter the bike lane at all. They did this on the Hudson River bikepath after a terrorist drove along it and killed six cyclists a few years ago, and they need to do it in the rest of the city too. All it takes is some jersey barriers, bollards, and/or new curbs put in.

And the second solution is make the penalties on trucks meaningful. Have the fine amounts escalate with every violation within a certain period, with no cap (so that a ticket could eventually cost tens of thousands of dollars for a particular scofflaw truck, rather than the current ignorable amount of around a hundred). And tow/confiscate trucks that have enough tickets.

And one more thing: A lot of trucks are manifestly unsafe to be in such dense cities. >=53' semi-trailers, for example, are completely banned, yet you see them routinely in the city (and cops don't ticket them). They barely have enough space to turn through a typical intersection, and the they have very high beds and wide-open wheels that can easily pull in and crush to death a pedestrian or cyclist. We should ban all unsafe trucks in the city and _enforce_ it. The only trucks allowed should be ones with sidewalls that go nearly to the ground, to prevent anyone from being run over. These trucks already exist and are widely used in Europe where they are required; here's an example: [https://www.alamy.com/stock-photo-coca-cola-delivery- truck-b...](https://www.alamy.com/stock-photo-coca-cola-delivery-truck-berlin- germany-30054924.html)

Note that, despite trucks being a minority of vehicles on the road, they account for way more than their fair share of pedestrian and cyclist deaths, because traffic speeds here are generally pretty slow and if you get hit by a car you're likely to be thrown up and over and survive. But you can be killed by one of these trucks going at just 1 mph simply by being crushed to death. This is not theoretical; it happened earlier this year when a cyclist traveling in a bike lane was doored and was thrown underneath an adjacent truck stuck in traffic, which when it started moving crushed him to death. The large open spaces between the ground and the truck deck allowing you to get run over by the wheels is highly dangerous.

<comment><USER23> > And the second solution is make the penalties on trucks meaningful. Have the > fine amounts escalate with every violation within a certain period, with no > cap (so that a ticket could eventually cost tens of thousands of dollars for > a particular scofflaw truck, rather than the current ignorable amount of > around a hundred). And tow/confiscate trucks that have enough tickets.

Part of the reason these companies can get away with settling is due to the large volume of tickets they receive. In the case of a fine escalating for each ticket, I would imagine that the company would then fight each ticket in court. This could easily overwhelm the courts. This seems like a fundamentally unfixable vulnerability that has been exploited by other actors (like Scientology).

<comment><USER24> This seems to be a recurring theme here, as if a parking violation is some kind of murder/capital crime situation that requires a diligent team of prosecutors and lots of hard evidence.

Except, it's not. A parking violation is strict liability for the registered owner of the car and trivially proven by a mere photograph. Odds of beating it in court are very very small.

<comment><USER23> It has nothing to do with the odds of beating it in court. If I have 1000 tickets and opt to contest them all, good luck scheduling any other case (especially if I bring photos, testimony, etc for each case). Further, it is not "strict liability" and there are defenses that can be raised.

<comment><USER25> If you want to contest 1,000 citations from distinct incidents, the court _could_ give you 1,000 separate dockets, appearance times, and locations.

</comment></comment></comment></comment></comment><comment><USER26> In Poland we have "Paczkomaty" which are often very close to homes and people can retrieve packages in 3 seconds by waving phone to QR scanner. You can also retrieve packages in convenience stores like "Żabka" or gas stations like "Orlen".

</comment><comment><USER27> It's interesting to see Fresh Direct figure so prominently in this because they're kind of the original two day shipping company in NYC. They've been delivering groceries to online shoppers since the early 2000s. Also their warehouse has always been inside the city in LIC, Queens. The complaints about them and their trucks with loud refrigeration units are just as old. This is from a decade ago:

[https://www.nytimes.com/2009/04/25/nyregion/25fresh.html](https://www.nytimes.com/2009/04/25/nyregion/25fresh.html)

It's not like these delivery issues came out of nowhere. There was plenty of time for the DOT, the state and city council to look at data, study these trends and adjust policy accordingly. But like everything else it needs to reach some crisis level before any appreciable action is undertaken.

</comment><comment><USER28> A few days ago, in the context of first drone delivery by Google, I asked why don't we build infrastructure (pipes + automatic pods going through them) to deliver grocery-sized packages. Sounds like a literal pipe dream, but I'm not convinced the economics wouldn't work. Deliveries could take a matter of minutes and the network could be expanded at will, starting with a few neighborhood delivery spots. At a price of one or two dollars a package, for a million daily deliveries, it could make sense.

Any thoughts?

<comment><USER29> It's been done... operated 1897 to 1953, replaced by auto delivery.

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

<comment><USER28> Yes, I hear that every time I mention this. It is a lazy objection: the only things vaguely similar between the pneumatic tubes of the past and the ones I'm talking about are the pipes and the pods.

Specifically, in those systems the pods were moved by compressed air: today they could just be electric and autonomous. They needed to be routed manually at intermediate stations, now they could just reach their destination automatically. Only five pods a minute could travel on those pipes, but electric drive means each pod can keep a minimum distance from the one before. There would be no need for engine rooms with air compressors spaced along the route. Etc.

Basically, you can think of it as autonomous driving on a dedicated road any without obstacles.

</comment></comment></comment><comment><USER30> Banning cars on major roads and eliminating street parking would solve this overnight. Roads in dense urban areas need to be used for service vehicles only.

It's just political will standing in the way at this point. People don't want to actually solve the misery, they just want to complain about it.

</comment><comment><USER31> City tax payers are ultimately paying the price for "2-day shipping" in the form of more congestion and pollution, and compromised safety.

Shouldn't the companies causing these problems pay for enhancing the infrastructure (roads, parking) they use to make their $$$? I imagine it's a much more costlier option since you have to work with the city but it should be a net positive gain (packages delivered more efficiently).

Or maybe the city should tax companies that abuse the public infrastructure? This may cause smaller companies/independent contractors to close up shop, but should increase the push towards cleaner delivery options (drone delivery?)

Albeit, this wouldn't be a problem if people would order less from Amazon and meal ready companies (Hellofresh, blueapron ...)

<comment> crooked-v > City tax payers are ultimately paying the price for "2-day shipping" in the > form of more congestion and pollution, and compromised safety.

"2-day shipping" is only a cause if it makes people order more packages in general (which it probably does, but it's a leap that should be considered rather than automatically made). The delivery companies involved are pretty efficient at this stuff and aren't going to waste money by deploying half- empty trucks, so the delivery traffic corresponds very linearly to the average total number of packages being delivered.

> Or maybe the city should tax companies that abuse the public infrastructure?

What about taxing individuals that abuse the public infrastructure by leaving cars to constantly take up street parking? Delivery companies are certainly much, much more efficient in terms of road usage and parking space needed than somebody driving a car to go buy stuff in a shop.

</comment></comment><comment><USER32> > New York has sought to shift more truck deliveries to nights and weekends, > when streets are emptier. About 500 companies, including pharmacies and > grocery stores, deliver goods from 7 p.m. to 6 a.m., under a voluntary city > program.

That program is Off-Hour Truck Delivery [https://ohdnyc.com](https://ohdnyc.com) and I can't think of any easier change that would have such a salutary effect on NYC traffic. It should have been made mandatory as part of the bike and bus lane changes.

</comment><comment><USER33> Wait till the things start buzzing around via drones by the thousands...

<comment><USER34> I'm sure someone will try to spin this positively for drone delivery: "See? We can't let those poor people suffer. We must think out of the box. I know: let's use unmanned aerial delivery. By the way, did you know my company happens to be in this business?"

</comment></comment><comment><USER35> I am founding a startup looking to use modern tunneling tech like horizontal directional drilling and pipe-jacking to build networks of tunnels under major cities to allow high speed "just in time" deliveries using small autonomous vehicles.

These would deliver packages, groceries and takeaway meals.

Looking for cofounders/enthusiasts - see:

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

</comment><comment><USER36> at 5am, there is literally no traffic on the streets of Manhattan. There is a way to utilize the resources of the roads when there is no traffic.

</comment><comment><USER37> FWIW, the city data portal posts parking violation data by year (~10M rows/year): [https://data.cityofnewyork.us/City-Government/Parking- Violat...](https://data.cityofnewyork.us/City-Government/Parking-Violations- Issued-Fiscal-Year-2020/pvqr-7yc4)

</comment><comment><USER38> I worked for a trucking company for a few weeks during two summers in college. I did Manhattan deliveries once, which meant going in the middle of the night ~9pm - ~5am and doing the deliveries to avoid spending all day in traffic.

Was definitely an interesting experience.

</comment><comment><USER39> Literally thought this was about npm before I'd parsed the headline.

</comment><comment><USER40> If it becomes a real problem, the comments in this thread indicate that there are feasible solutions.

However, no incipient problem that requires political action is ever solved until it becomes urgent.

</comment><comment><USER41> When a front-page NYTs story says "CHAOS" in the title, you know there are a zillion opportunities hidden in that story. Just a heads up. :-)

</comment><comment><USER42> It looks like an ecological disaster by reading the title.

I couldn't read the article because it asked me to "login".

<comment><USER43> Archived copy without paywall:

[https://archive.is/0n6kc](https://archive.is/0n6kc)

</comment></comment><comment><USER44> I hate going to the store. Love ordering online. Besides, isn't AMZN looking at drone delivery? Of course, if that becomes the norm, we'll be seeing articles about drone congestion in the skies over Manhattan.

</comment><comment><USER45> I feel like NYC could use the trains again for much of this

Its what the highline was for after all

</comment><comment><USER46> So basically the Russians can order staples to a few hundred carefully chosen locations and brings Cities to a standstill. No ICBMs necessary. Good to know.

<comment><USER47> Something like that has been done before, although it wasn't the Russians. It was a guy winning a bet [1].

> On 27 November, at five o'clock in the morning, a sweep arrived to sweep the > chimneys of Mrs Tottenham's house. The maid who answered the door informed > him that no sweep had been requested, and that his services were not > required. A few moments later another sweep presented himself, then another, > and another; twelve in all. After the last of the sweeps had been sent away, > a fleet of carts carrying large deliveries of coal began to arrive, followed > by a series of cakemakers delivering large wedding cakes, then doctors, > lawyers, vicars and priests summoned to minister to someone in the house > they had been told was dying. Fishmongers, shoemakers, and over a dozen > pianos were among the next to appear, along with "six stout men bearing an > organ". Dignitaries, including the Governor of the Bank of England, the Duke > of York, the Archbishop of Canterbury and the Lord Mayor of London also > arrived. The narrow streets soon became severely congested with tradesmen > and onlookers. Deliveries and visits continued until the early evening, > bringing a large part of London to a standstill.

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

<comment><USER46> :) That was hilarious. Hook is my new hero.

</comment></comment></comment><comment><USER48> According to elitist NYT only the old rich settlers of manhattan who own multi million dollar apartments and 1000$ a month parking spot are entitled to have a car and drive in the city. Thats why they are against Uber and Lyft as well.

<comment><USER49> According to the article, much of the negative impact is being felt in poorer neighborhoods where the trucks concentrate around the storage facilities.</comment></comment>


Nuts and Bolts of Encryption: A Primer for Policymakers [pdf] - <AUTHOR> https://www.cs.princeton.edu/~felten/encryption_primer.pdf <comment><USER2> Most important note to policy makers: encryption is a reality we can't limit or forbid. It's maths.

Deliberately weakened encryption, special "master keys" or legal restrictions on the use of powerful encryption are not even remotely feasible.

The bottom line is: everyone, especially those we wouldn't prefer did, can communicate securely when they want.

A policymaker who still thinks that there is some kind of "pragmatic middle way" where the intelligence community can listen to potential terrorists while the rest of us can still do secure online banking, is delusional and needs to be told as much.

<comment><USER3> If you ban encryption, only criminals will be able to use encryption. That is very convenient, since it's easy to detect when people are communicating on a secure channel.

The same argument applies of course if you only allow encryption that has a master key that allows LEA to eavesdrop. That is probably safe enough for online banking (it's the system we currently have with https), so from a policymaker's point of view this is an okay solution.

<comment><USER4> >That is very convenient, since it's easy to detect when people are communicating on a secure channel.

This is a fairly complicated question. Disk/file encryption is not easy to detect without access to the disk , however I won't discuss that here because you only addressed communication.

Generally when policy people talk about encryption they mean technologies which protect confidentiality, but not technologies which protect authentication e.g. signature algorithms, MACs, etc. Authentication technologies often contain random fields such as nonces this provides a very obvious location to store encrypted data in a message. Given that ciphertexts should be indistinguishable from randomness, an attacker should not be able to tell that a random field is not random without the key. There are already tools which hide ciphertexts in nonce fields.

Compression also provides a useful place to hide ciphertexts since it looks random as well.

Most criminals will not go to the lengths above. Most people including most criminals prefer convenience over security. That being said, if communication security is important to a crime (and it usually isn't), and the criminals are competent at INFOSEC (they usually aren't) they can and will use encryption which is not easily detectable (spies can and will use hard to detect encryption even if encryption is illegal).

We are moving toward a society in which almost anything done in public is recorded and analyzed via video, RFID/cell tower access patterns/social media/license plate readers. Police have never had more tools to investigate crime and never had more evidence to convict people. If LEOs so wished and had the resources to handle the caseload and arrests they could get ~90% clearance for jaywalking.

</comment></comment></comment><comment><USER5> > _No prior background on encryption or data security is assumed_

Second sentence under "encrypted storage": "Alice generates a secret key that only she knows, and she uses the secret key to encrypt the data".

Both people I showed this to, each highly intelligent and accomplished in their fields, gave up at that point. "Secret keys" are defined on the next page, but a brief should define concepts before deploying them.

</comment><comment><USER6> This seems useful, but I have to admit I'm dissatisfied with the tech community's response to government efforts to cripple encryption, specifically the "but then the -bad guys- will also exploit the backdoors!" stance. While true, the better argument is that keeping secrets should not be a crime, but a fundamental right - the right to privacy.

Government should not have infinite power to peer into the private lives of people.

<comment><USER7> The problem is that in the U.S., we don't have a fundamental right to privacy. Constitutional guarantees of privacy are either specific (e.g., to practice religion) or indirect (e.g., search/seizure).

But I do agree that it should be a more broadly defined fundamental right.

<comment><USER6> In addition to the 1st amendment problems of banning certain kinds of code, I think forcing encryption to have a backdoor could be construed as part of a search, and so run afoul of the 4th amendment. Who knows what the courts might say though - I wonder if there's any precedent...

<comment><USER7> The 4th does state that it is "The right of the people to be secure in their [...] papers [...]." I'd love to witness a judicial argument that seeks to extend this to code/binary 'goods.'

</comment></comment></comment></comment><comment><USER8> Not that the article isn't decent, but presentation and context makes a huge difference. For instance, even though this is only 5 pages long, it being a PDF with formal titles will turn a lot of people off (which is unfortunate). I've been trying to combat that, so we decided to create animated 1 minute cartoons about cryptography ( [http://gun.js.org/explainers/data/security.html](http://gun.js.org/explainers/data/security.html) ). They certainly are not a deep dive into encryption, but hopefully they make it fun for people (including kids) in a friendly and approachable way. So far our user study on them has gone well, but there is a lot to be improved.

<comment><USER9> Target audience is 'policymakers'. I'm sure the presentation is perfect for the target audience.

</comment></comment><comment><USER10> I'm not in the industry, so keep that in mind.

While this document comes across as a decent primer on the general theory behind encryption, I wish it covered the security implications of historical policy proposals (key escrow and DRM come to mind).

It seems important to make sure that policymakers are not only educated on encryption, but on the pitfalls or "fallacies" that come about when, well, trying to write policy regarding it. Such misconceptions, I think, are more dangerous than a fundamental misunderstanding of the system as a whole as they allow for crippling crypto by law (picking and choosing implementation details), instead of simply misinformed blanket laws.

</comment><comment><USER11> While I understand the audience isn't supposed to be technical, implying that encryption confers integrity is a common misconception we shouldn't be enforcing. Encryption and authentication are two separate concepts, even though there are algorithms that provide both.

<comment><USER12> Encryption: getting easier every day

Authentication: difficult if not practically impossible[1]

       [1]Outside of organizations where members follow rules.

If you agree, then here is a question:

Why does SSL, hereafter "TLS", _not_ separate the two concepts for the user?

The user is never presented with the information that TLS-enabled software can encrypt data, e.g., in transit, requiring almost no effort on her part, _but that there is no reliable way for software alone to verify an endpoint or content on an untrusted network such as the internet._

Instead she is led to believe it is all or nothing, and that the software she is using is performing both, with equal rates of success.

Verification (authentication) requires human effort.

Software can help but computers alone cannot solve the problem.

Delegating verification to third parties, e.g., a "CA system" or a startup, is antithetical to the goal of encryption -- protection from third parties. It does not solve the problem.

<comment><USER13> > Why does SSL, hereafter "TLS", not separate the two concepts for the user?

Because encryption without authentication is worthless. It's Alice passing a secret message on paper to anybody on the street that will claim to be Bob.

<comment><USER12> "... encryption without authentication is worthless."

I have heard this before, i.e., seen it in HN comments.

There are uses for encryption without authentication.

I am not an expert on encryption. This is all I will say.

In your example, Alice may not know where Bob is, but if the message is encrypted with Bob's public key then unless I am mistaken only Bob can decrypt it. She can leave the message somehere for Bob to get it.

Does Bob need to know the message was sent by the real Alice?

Do web servers check client certificates?

Assuming what you say is true, that unless your authentication solution is as good as your encryption solution, then the encryption is "worthless", then I think there is a large amount of "worthless" encryption being performed using TLS.

How many users have control over routing on the internet?

Even if a user had a solution to verify a physical computer on the internet, e.g., SSH, whether she could actually reach that computer in order to verify it is not necessarily within her control.

She might as well just assume a third party, i.e.. "anybody on the street", could easily obtain a copy of the encrypted data she is transferring.

File encryption can be useful without any authentication of any other party. Some files are not "messages" intended for any other party to see.</comment></comment></comment></comment>


Does Windows 10 as a service, not a product frighten you? - <AUTHOR> http://techcrunch.com/2015/01/21/microsoft-to-provide-free-upgrades-to-windows-10/

<comment><AUTHOR> Maybe this is the paranoid me talking, but the idea that you won't really even own your operating system scares me a bit. I don't want to depend on a company that much, even Microsoft. Not to mention privacy, if it is a service, are we the products? Thoughts?</comment>


Python 3.5 to Ship with Matrix Multiplication Operator - <AUTHOR> http://legacy.python.org/dev/peps/pep-0465/#implementation-details <comment><USER2> To everyone arguing against special-casing matrix multiplication, please base your arguments on the PEP's "Motivation" section to avoid too much of rehashing the obvious. It even has a subsection "But isn't matrix multiplication a pretty niche requirement?"

<comment><USER3> It seems like I can boil down the rationale as:

1\. Numpy people overload * for element-wise mul and matmul inconsistently and confusing people 2\. The prefix func calls convention for matmul makes the formulas difficult to read 3\. Python's precedence for splitting / into / and // can't apply to matmul because * * is already taken. 4\. ` is banned, ?! lend unrelated meanings to context, $ is Perl and PHP baggage, so @ is the only thing left?

I got lost on the choice for @. If ?! lends unrelated meaings, and $ is Perlism, why doesn't @ suggest some kind of concat ops or Bashish/Perlish array sigils?

I'd personally much prefer >< . It looks like x, so it's much clearer. I don't understand the PEP's reason for not using ><.

<comment><USER4> Yes `backticks` are banned since Python 3 because 1) They are hard to type many on common keyboard layouts 2) They are hard to read, especially in Python books.

<comment><USER5> I don't understand the hate for backticks either. I used to dislike them too, when I was just a hobby programmer, and used a Slovenian keyboard layout (even for programming). Needless to say, after switching to English layout, my programming skills quadrupled - ` isn't the only symbol barely accessible (without finger acrobatics) on international keyboards (other examples include: {}][|~\^ ).

<comment><USER4> I've stuck to Swedish layout but I've remapped all of `{}[]()\ in fact! :-)

</comment></comment></comment></comment></comment><comment><USER6> This is surprisingly detailed design rationale which weighs many alternatives and gives careful consideration to possible tradeoffs. Great job by Nathaniel Smith and the numerical Python community.

</comment><comment><USER7> The nice thing is that it makes a nice symbol `@` available to objects that aren't matrices, to do with as they want ...

The (ab)use seems endless :)

<comment><USER8> I'd love it to be used as value membership operator for dictionaries. Something like this in pseudo-code:

      class object:
          def __matmul__(self, dict):
              return self in dict.values()

      a = {'asdf': 1}
      if 1 @ a: # Evaluates to True.
          print('Lovely!')

<comment><USER9> That seems too esoteric to ever go into the language unfortunately. I love the idea of some sort of __in__ targeting values in mappings but have never been able to think of an elegant mechanism that uses the existing grammar sanely or introduces useful new grammar.

I've always thought that maps and a matching __maps__ would have been a nicer way of referring to the keys of a mapping with in/__in__ referring to the values. Although the semantics are a bit odd in that case. Technically the mapping maps a key, but the language semantic to to have it the other way around as in key is mapped by mapping.

        foo = {'bar': 42}
        assert 42 in foo

but which makes more sense below?

        assert 42 maps foo
        assert foo maps 42

or even

        assert 42 mapped by foo

The benefits of including by in the grammar could be of consequence here too.

<comment><USER4> What's wrong with this?

       if 42 in d.values(): pass

<comment><USER9> That's why none of the alternative solutions are attractive. They don't really improve on the existing semantics.

What bugs me is the implicitness of __in__ defaulting to keys for a mapping. We have .keys() and .values() which are nice and clear since they explicitly grab an object which has an unambiguous definition for __in__.

Double Edit: It's an implementation decision that had to be made and I'm not aware of the rationale or debate behind the original choice. It's directly attributable to the decision to make __iter__ return the keys for a mapping which is the root of my issue. It's presumably useful and convenient (from a language writer's perspective) for iteration of a mapping to be along the keys in whatever order they may be traversed but if that's all it comes down to, why should a mapping be iterable at all when there is obvious ambiguity in what may be iterated? Maybe there is some history I'm not aware of where the .keys(), .values() and .items() methods were introduced post-hoc and the previous behaviour was such due to their non-existence and the need to iterate and then index to get all values in the object.

<comment><USER10> Looking up the value using "in" in a dict would be inefficient as it would have to iterate over the contained values.

If you want to efficiently look for values, use a set() or store a second dict that goes from values to keynames.

If you're not worried about the efficiency, do the "in d.values()" you've suggested.

Using "in d.keys()" takes a quick hash lookup and turns it into a slower iterative list lookup.

<comment><USER9> I think I'm combining issues in a problematic way here and I don't even know what was going on when I typed __in__ (twice! :/) instead of __contains__ - I'll just blame the lack of coffee. I realise why the membership 'in' should operate on the hash table in memory for O(1) performance and it makes perfect sense. I've just never been fully comfortable with the idea that keys are considered the 'members' of a 'mapping' in and of themselves. Maybe because I usually consider one-way mapping as a special case.

The more reasonable (I think) problem I have is one of language semantics which is introduced by _in_ being applicable to a mapping in the first place - why should a mapping be iterable at all if it is ambiguous (as I believe) as to what it should return? Members should be key:val pairs but membership checks refer only to keys and it's probably not unreasonable for a user to want any of .keys(), .values() or .items() when iterating. That's obviously why they're made available so why should __iter__ special case one of them?

I assume this is to match semantics introduced by the membership check and probably historical because without a .values() method, key iteration and lookups would be the usual way to get all values out of a mapping. This just seems like the kind of thing that could have been changed in Python3 (although 2to3 would probably not have been able to handle the syntax changes automatically).

<comment><USER11> The code to test for membership of a key value pair is already straightforward for any mapping:

        map[key]==value

Which is a weak reason in support of the use of containment testing for something else.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> Guido has accepted the proposal and work has now begun to add support for the new operator: [http://bugs.python.org/issue21176](http://bugs.python.org/issue21176)

</comment><comment><USER12> After a few years in Scala, where all operators are methods and vice versa (2 + 3 is just sugar for 2.+(3)), the method-operator distinction just seems _weird_.

<comment><USER13> Hm, in Python, 2 + 3 is just sugar for (2).__add__(3). Not that different; Python just doesn't allow symbols like '+' in method names.

<comment><USER12> > in Python, 2 + 3 is just sugar for (2).__add__(3).

Sure, but it doesn't work the other way; there's no nicer way to write 2.florble(3). So you have a few operator methods, and then other methods are second-class citizens. Which in turn encourages people to abuse the operators as shortcuts for commonly-used operations, á la C++'s <<

<comment><USER14> > Which in turn encourages people to abuse the operators...

In practice, very few languages have suffered problems from operator overloading. I can't think of another language where this is a problem (other than C++), which makes me think it's a cultural/code style problem, rather than a problem with the language itself. C++ seems to encourage abuse because everyone learns its IO library, and its IO has an API design so horrible it should make you retch.

By comparison, I'm not sure that adding more operators makes the resulting code any more palatable. Look at Haskell: libraries define their own operators, and the operators in Haskell have a steep learning curve. Can you tell me, without looking at a chart, whether $ or >>= has higher precedence, and what kind of associativity they have?

<comment><USER12> > Can you tell me, without looking at a chart, whether $ or >>= has higher > precedence, and what kind of associativity they have?

No, which is why I don't think that should be allowed. Scala doesn't do that - all "custom operators" have the same precedence, and the global rule is that anything ending in : associates to the right (and is defined by the thing on its right), otherwise to the left. So I could answer those questions easily for a Scala library.

<comment><USER14> Those weren't custom operators in Haskell, they are part of the prelude.

</comment></comment></comment></comment></comment></comment><comment><USER15> Since this is just a special case of a multiply-and-add indexing loop, maybe they should just introduce some form of tensor notation, so that A[i,j]*B[j,k] is the matrix product of A and B? That would extend to so many more use cases than just a 2d matrix product.

<comment><USER16> U+2297 CIRCLED TIMES is already the logarithm operator in APL, so you'd want to avoid that confusion. Phew!

</comment></comment><comment><USER17> The PEP claims that:

> Matrix multiplication is more of a special case. It's only defined on 2d > arrays (also known as "matrices")

but this is not true. Matrix multiplication is just a special case of contraction of indices in a tensor ([https://en.wikipedia.org/wiki/Tensor_contraction)—probably](https://en.wikipedia.org/wiki/Tensor_contraction\)—probably) the most frequently used case, but not the only one. I'm certainly not arguing for the inclusion of general tensor-manipulating operators in Python, but it does seem to suggest a sensible alternative to:

> For inputs with more than 2 dimensions, we treat the last two dimensions as > being the dimensions of the matrices to multiply, and 'broadcast' across the > other dimensions.

namely, just contract on the inner indices. That is, arr(n1, ..., nk, m) @ arr(m, p1, ... pl) = arr(n1, ..., nk, p1, ..., pl).

EDIT: scythe ([https://news.ycombinator.com/item?id=7554013](https://news.ycombinator.com/item?id=7554013)) already pointed this out in passing.

<comment><USER18> > namely, just contract on the inner indices. That is, arr(n1, ..., nk, m) @ > arr(m, p1, ... pl) = arr(n1, ..., nk, p1, ..., pl).

No. This is what a mathematician might assume the PEP proposes without actually reading it. It instead proposes an entirely non-obvious definition which not equivalent to what you wrote.

In particular consider this example from the PEP.

        arr(10, 2, 3) @ arr(10, 3, 4) = arr(10, 2, 4)

<comment><USER17> I know it is not equivalent—that is why I proposed it as a sensible alternative to what the PEP proposes (which I quoted). The punctuation may have made it unclear, but what I was trying to say was:

> … a sensible alternative to [PEP proposal]; namely, just contract on the > inner indices.

and not

> … a sensible alternative to contracting on the inner indices.

My argument for why it's sensible is precisely what you mentioned, namely, that it is what a mathematician would expect.

</comment></comment></comment><comment><USER17> My issue is not with the matrix-multiplication operator—I'm a mathematician before I'm a programmer, and so am all for it—but with the vector-to-matrix promotions: why not just consistently promote vectors to _columns_ (or rows, if BDFL swings that way)? This would achieve almost the same effect as promoting to rows or columns as needed, and would avoid the non-associativity problem that the PEP mentions.

This PEP seems to imply that the cost would be a profusion of superfluous `newaxis`s, but I can't see that: it seems to me that you would need only to remember which kind of promotion works by default, and sprinkle in a `.T` whenever you need the other kind. (Anyone who's uncomfortable with lots of `.T`s in matrix-crunching code is not, I submit, someone who writes or reads lots of matrix-crunching code.)

</comment><comment><USER19> There are a few handy things that I'd like to see added to Python's syntax. A dedicated operator for matrix multiplication isn't one of them.

<comment><USER20> What would you like to see?

<comment><USER21> multi-line lambdas.

<comment><USER22> Not happening, because it would mean multi-line function arguments, which have been declared "ugly".

[http://legacy.python.org/dev/peps/pep-3099/](http://legacy.python.org/dev/peps/pep-3099/)

</comment></comment></comment></comment><comment><USER23> I really like this snippet from the justification for the symbol chosen: "APL apparently used +.×, which by combining a multi-character token, confusing attribute-access-like . syntax, and a unicode character, ranks somewhere below U+2603 SNOWMAN on our candidate list".

One of the reasons I have been such a fan of Python for so long is the relatively no-nonsense approach to design decisions that many others would have rushed through.

</comment><comment><USER24> Python's syntax is already pretty ponderous, this kind of thing pushes it rapidly toward bash-like incomprehensibility. I've been a big fan of the language for years but this kind of thing makes me consider jumping to Lua or something which is more sparing with new complicated sigils.

<comment><USER25> How does this reduce comprehensibility? In cases where you're doing matrix muls, "a @ b" is way clearer than "a.dot(b)". In other cases, infix "@" won't appear.

</comment></comment><comment><USER26> Matlab's approach to using * as the matrix multiplier makes sense, because every numerical variable is an array with integers/floats simply being a 1x1 array. Using .* then as the elementwise version works.

I'd have personally preferred to see Python do type testing on the variables - it already does. For example:

'quick' \+ 'fox' = 'quickfox' 3 + 5 = 8 [3] + [5] = [3,5]

So why not make it a case where * on an int or float does the 'standard' multiplication that already exists whereas * on an array does matrix multiplication?

You arrive at the problem of then not having an element-wise version of the multiplication but it's not as if this solves that problem anyway.

What am I missing to make that a problem?

<comment><USER27>
      > You arrive at the problem of then not having an element-
      > wise version of the multiplication but it's not as if this
      > solves that problem anyway.

Please reread the text. It's exactly what it does, and an exhaustive rationale is given for why both operators are useful and necessary.

      # Matrix multiplication:
      a = b @ c

      # Element-wise multiplication:
      a = b * c

<comment><USER26> My apologies, I misremembered that from when I first read it. I'm still on python 2.7 - in 3, does:

[3] * [5] = [15]

? Because really it needs to reduce down to that if it's going to make sense from a continuity point of view.

edit: To clarify: Is that already part of 3.x, or shall it become part of 3.x once this is implemented?

<comment><USER27> A Python list is not a matrix, so I don't see how this change would entail your statement. Of course, for very specific use cases, a list looks like a numerical vector; the semantics are very different, though.

</comment></comment></comment></comment><comment><USER28> I think "Matrix Multiplication" is a little too specific for a syntax change, but I welcome the addition of a new operator to be overloaded.

Am I missing some useful applications of matrix multiplication on a general purpose language?

<comment><USER29> Ehm, Python is not a "scripting language". It is a — as you said — general purpose programming language. And it is becoming more and more popular for scientific applications, where matrix multiplication plays a key role.

<comment><USER28> I honestly didn't expect a downvote for calling Python a "scripting language". I use the term loosely and always thought Python fit spot on. I still think it applies here, but I've edited the parent post to correct this possibly incorrect usage of the word.

Just for the record, these are the characteristics of Python that made me call it "scripting":

\- Interpreted

\- Highly expressive

\- No boilerplate

\- Vast majority of programs are short

\- Lots of libraries for gluing stuff together

\- Used for turing-complete customization of software in other languages (e.g.: Sublime Text)

\- Recommended as replacement for Bash in some cases

Anyway, I'm happy to see the language evolving to meet its users' needs.

<comment><USER30> Stolen from [https://www.python.org/doc/humor/](https://www.python.org/doc/humor/) (in response to a claim that it's not a true OO language):

> Indeed, and because it doesn't support closures, it's not a true functional > programming language either. And because you have to import all sorts of > modules to do the simplest things (e.g., regular expressions), neither is it > a true scripting language. Indeed, because it doesn't support labeled break > or continue statements, it's not even a true structured programming > language.

I think the point is, trying to classify programming languages (except domain specific ones like SQL or maybe PHP) is kind of pointless.

But to answer your real question, Python is one of the top languages in number crunching. After web work, that's Python's second biggest niche.

<comment><USER31> > it doesn't support closures

It does now, and thank goodness, because even C++ has closures these days.

</comment></comment></comment></comment></comment><comment><USER32> They gave a rationale for @ compared to other not yet used ascii characters.

But they didn't consider a combination of multiple characters, like e.g. 3 * s?

(NOTE: Hacker news does not allow typing 3 * in a row)

<comment><USER9>
      I suspect this was to distance matrix mult
      from traditional scalar mult operators.
      Remember that ** is just shorthand for n *s.
      whereas matrix mult is a different beast
      entirely.

      There is also added clutter with 3* where
      typos may be non-obvious (already a potential
      issue with ** I guess).

Nice, using verbatim to get around markup...

</comment></comment><comment><USER33> Personally, I'd really like to see an equivalent in Python to Haskell's `binop` , to turn an arbitrary two-argument function into a binary operator.

<comment><USER17> I think that you're not alone, but this is specifically considered and rejected (in the section on "Rejected alternatives …"):

> Add lots of new operators, or add a new generic syntax for defining infix > operators: In addition to being generally un-Pythonic and repeatedly > rejected by BDFL fiat, this would be using a sledgehammer to smash a fly.

<comment><USER33> Anyone have a reference for where that in particular was rejected by BDFL fiat?

<comment><USER34> PEP 225 was an attempt to add a load of new operators that was rejected (well, deferred 14 years ago). I don't know of a proposal to define arbitrary binary operators.

</comment></comment></comment></comment><comment><USER35> Why not use the existing convention for names of infix operators like __mmul__ but allow then to be infix as well.. So, we could write A __mmul__ B.

I think this is more clear than @ and is already familiar to programmers that deal with operator overloading methods. It would also enable the addition of arbitrary infix operators to python.

<comment><USER36> __ methods are private and not meant to be called outside of the class

The @ decorator vs @ MMUL seems pretty syntactically clear though.

@decorator()

def function():

variable @ variable

</comment></comment><comment><USER37> I hope this is not a first step towards transforming python syntax into perl.

<comment><USER22> It won't be. The Python parser has to remain LL(1) by BDFL fiat.[1]

1: [http://legacy.python.org/dev/peps/pep-3099/](http://legacy.python.org/dev/peps/pep-3099/)

<comment><USER38> OP was clearly referring to style and aesthetics, not the grammar's level in the Chomksy hierarchy.

</comment></comment></comment><comment><USER39> You've got to wonder, does matrix multiplication happen so often and is it so inconvenient to call as a function that it's worth complicating the syntax? I'm really not sure about this one.

<comment><USER40> I'd say matrix multiplication is far more common than complex numbers, and Python natively supports those.

<comment><USER41> yeah but complex numbers don't introduce new punctuation aka symbolic noise.

</comment></comment></comment><comment><USER42> one question I could not see from the PEP page: why not use a spelling "dot" instead of a symbol? i.e. "a dot b"

<comment><USER43> When dealing with vectors, the dot product has a specific definition, so it would be very confusing.

</comment></comment><comment><USER44> Currently, we can use * to multiply two numpy matrix. We'll have two choices, * and @, to do the matrix multiply things in numpy. Is it pythonic? Or should we deprecate * ?

<comment><USER27> No, we should deprecate numpy.matrix which is the culprit here. If there's only numpy.ndarray, the semantics are absolutely clear: * for element-wise multiplication and @ for "proper" multiplication of two matrices.

</comment></comment><comment><USER45> from the pep as to why not using a type that defines _mul_ as matrix multiplication : " The result is a strong consensus among both numpy developers and developers of downstream packages that numpy.matrix should essentially never be used, because of the problems caused by having conflicting duck types for arrays "

looks to me like an issue with python lack of static type checking. if you need to define an operator every time two types conflict, you're in for a long list...

</comment><comment><USER46> Dear Guido,

You lost me at 3.</comment>


Show HN: The (Real) Free Ultimate Website Templates and Landing Pages - <AUTHOR> https://bootstraptor.com/the-real-ultimate-website-templates-landing-pages-to-save-hours-on-your-next-website-creation/ <comment><AUTHOR> Our designers at Bootstraptor.com have created a valuable and customizable template package for you to use on your next business website. 100% free. We just launched an online 'hub' for free templates. We have a lot of uploaded right now. Just click here to download it for free.

We saw how much interest there is for a free business website template for your next business website or landing page.

So we decided to produce a high-value collection of Website templates and Landing Pages for your next web project.

Just change text and images and upload them to your web hosting.</comment>


The Truth About the Escobar Folding Phone - <AUTHOR> https://youtu.be/O8FJSjy3bXA <comment><USER2> I don´t get the point. Why should I ever want a foldable smartphone? To make my pocket look even bigger?</comment>


Why Can't a Woman Be More Like a Man? - <AUTHOR> http://quillette.com/2018/05/24/cant-woman-like-man/ <comment><USER2> Why Can't Modern "Journalism" Go A Day Without Divisive Content?

</comment><comment><USER3> Article could have been a fascinating survey of research on the topic but couldn't resist bringing politics into it. Really ruins the piece when the author has a clear axe to grind.</comment>