Ask HN: Does Python package management suck or is it just me? - <AUTHOR>

I have been learning Python for the past few days and absolutely love the language but I just can't wrap my head around package management. Here's a few keywords I've stumbled upon trying to learn how package management is done: easy_install virtualenv pip setuptools distutils pypi wheel egg site-packages
Compare this with Node's npm and package.json. I'm almost considering giving up Python at this point just due to the apparent complexity of package management.
Is it just me? Is it not such a big deal in practice? Anyone else coming from Node.js land got confused by Python's package system? <comment><USER2> Have you read the packaging tool recommendations[1]? And the packaging glossary[2]?

For the little of npm I've seen its equivalent is pip, and package.json maybe pip's requirements files.

[1] [https://packaging.python.org/en/latest/current.html](https://packaging.python.org/en/latest/current.html) [2] [https://packaging.python.org/en/latest/glossary.html](https://packaging.python.org/en/latest/glossary.html)

<comment><AUTHOR> Thanks for those links, they do a better job at explaining those various tools then most descriptions I've read so far.

So if I understand correctly, the usual workflow is to create a distribution for your source code using setuptools (python setup.py sdist) and then upload them to Pypi using (python setup.py upload) or using Twine (twine upload dist/*). The uploaded distributions can then be installed by third party users by using pip (pip install somedistname).

<comment><USER2> You are welcome, glad that they were helpful. My recommendation going forward: try the official documentation first always, it is of very high quality.

* You are right on the usual workflow

* I haven't used Twine so I can't comment on it

Additional things you might want to look into:

* Using ssh[2] to upload to PyPI

* Signing distributions with OpenPGP

[1] [http://buildout.org](http://buildout.org)

[2] [https://pypi.python.org/pypi/pypissh](https://pypi.python.org/pypi/pypissh)</comment></comment></comment>


The Mythology of Karen - <AUTHOR> https://www.theatlantic.com/international/archive/2020/08/karen-meme-coronavirus/615355/ <comment><USER2> I think it's offensive, and I report it as a slur when I see it, in communities that care about that sort of thing.</comment>


Show HN: Turn GitHub milestones into fun countdowns - <AUTHOR> http://www.deadliner.rip/ <comment><USER2> Love the grim reaper slowly moving when your deadline is almost due!</comment>


The Art of Storytelling – Pixar in a Box - <AUTHOR> https://www.khanacademy.org/partner-content/pixar/storytelling <comment><USER2> For anyone on the fence: These were fun to watch, but there wasn't much substance to them. You'd probably get a lot more out of a random 15 minute blog post on the subject.</comment>


Subjective Beauty, Novelty, Surprise, Interestingness, Attention, Curiosity, - <AUTHOR> https://arxiv.org/abs/0812.4360 <comment><AUTHOR> Whole title was 196 chars; Driven by Compression Progress: A Simple Principle Explains Essential Aspects of Subjective Beauty, Novelty, Surprise, Interestingness, Attention, Curiosity, Creativity, Art, Science, Music, Jokes

</comment><comment><USER2> The hypothesis in the paper about interestingness is itself quite interesting. In fact it predicts its own interestingness. It is interesting because it compresses the set of interesting things using a pattern.</comment>


Turn your phone into a key to open the Web - <AUTHOR> http://beta.veriring.com/index.php This is my last side project. It is a website which allows you to simply verify your user by requesting them to make a telephone ring.<p>As I am based in Italy, I need some beta testers from United States and United Kingdom to start using the system so that I can fine-tune it before release. <comment><AUTHOR> This is my last side project. It is a lightweight and easy to integrate phone verification system.

As I am based in Italy, I need some beta testers from United States and United Kingdom to start using the system so that I can fine-tune it before release.

</comment><comment><USER2> It would be nice if your site had more information about what exactly people are signing up to.</comment>


TaskPaper and To-Do List Bankruptcy Without the Trauma - <AUTHOR> http://icelab.com.au/articles/taskpaper-and-to-do-list-bankruptcy-without-the-trauma/

<comment><USER2> Un-done to-dos are like unread books on the shelf: they tell us who we wanted to be. The fact that we haven't done them tells us who we really are.

<comment><USER3> > "Your calendar never lies. All we have is our time. The way we spend our > time _is_ our priorities, _is_ our 'strategy'. Your calendar knows what you > really care about. Do you?"

\--Tom Peters

</comment></comment><comment><AUTHOR> I had about 400 yet-to-be-completed items in my to-do list before I started afresh. Seemed like way too many. How about you?</comment>


Mathematics Reveal Universal Properties Of Old Rope - <AUTHOR> http://www.technologyreview.com/blog/arxiv/25019/

<comment><USER2> "The force causes the pitch angle to be less than ideal so that when the force is relaxed the rope 'relaxes' into the zero twist configuration, which cannot be further stretched under tension."

On behalf of mechanical engineering, I am sorry to report that this is not a description of any actual rope.</comment>


Childhood's Work for Sale (Runescape) - <AUTHOR> https://www.playerauctions.com/osrs-account/150428984a!childhoods-work-for-sale/ <comment><USER2> I've often thought of selling my Runescape account and have even posted it before. However, every couple of years I hope on and have a couple of hours of pure joy of reminiscing before not touching it again for a couple years. I would suggest not selling it as that couple hours is worth more than money can buy.</comment>


Announcing .NET Core 3.0 Preview 7 - <AUTHOR> https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0-preview-7/?WT.mc_id=dotnet-reddit-bramin <comment><AUTHOR> Interesting quote:

> NET Core 3.0 Preview 7 is supported by Microsoft and can be used in > production.

I'm not sure I've seen that before in other Preview releases. is that a new thing? And is it common?

<comment><USER2> Even if it works in production, I would expect that means it will have missing or incomplete features.</comment></comment>


IE9 Preview: Large performance improvements and 95/100 on Acid3 - <AUTHOR> http://blogs.msdn.com/b/ie/archive/2010/08/04/html5-modernized-fourth-ie9-platform-preview-available-for-developers.aspx

<comment><USER2> The part I've been waiting for years to hear was:

"We recommend sending IE9 the same standards-based markup your site sends other browsers. "

<comment><USER3> Does it mean I don't have to use separate code for IE and Standards based browsers?

<comment><USER4> Yes.

</comment></comment></comment><comment><USER5> The browser wars are back!

MS, please bring the strength of this engine to WP7!

<comment><USER6> It is my understanding that IE9 will come to WP7 - just not at launch.

<comment><USER5> Thanks. You just made my day!

</comment></comment></comment><comment><USER7> Fascinating what a multi-billion dollar software company

can finally do when they have some motivation from competition.

Now just allow it to run on the millions of Windows XP installs

who have modern hardware but don't need Vista/W7.

<comment><USER8> No. Don't keep XP alive, it's insecure and dangerous.

<comment><USER9> Proof, please.

<comment><USER4> It's pretty well known apps under XP don't need to ask users for permission to perform privileged actions, unlike Vista, Linux, or OS X.

<comment><USER10> Defaulting to running directly as admin is a settings flaw, not a problem with the underlying security system.

<comment><USER4> Yes, and poor defaults are a problem with the OS.

</comment></comment></comment></comment></comment></comment><comment><USER11> This is great news, except for the fact that there is still a huge percentage on IE6. Until people migrate off, it'll still be a pain in the ass to develop sites.

That's one nice thing about the other browsers. Most users are on very similar versions. IE, on the other hand, have users spread out across many old versions.

It will be time to celebrate when they can get most of their users on the newest IE. I can't wait for that day.

<comment><USER12> The real shame is no IE9 for Windows XP. [1]

Some 60% [2] of the market share is Windows XP. IE 6 - 8 are going to be with us for some time.

[1] [http://ie.microsoft.com/testdrive/info/FrequentlyAskedQuesti...](http://ie.microsoft.com/testdrive/info/FrequentlyAskedQuestions/Default.html)

[2] [https://secure.wikimedia.org/wikipedia/en/wiki/Microsoft_Win...](https://secure.wikimedia.org/wikipedia/en/wiki/Microsoft_Windows)

<comment><USER13> The best solution I see to the "no IE9 for windows xp" problem if were not counting on Microsoft to do something is Chrome frame; but I think some big player (youtube, facebook etc..) would have to almost force it on users for it to cut down on those big percentages

<http://www.google.com/chromeframe>

</comment></comment></comment><comment><USER14> Too bad that with this platform preview they concentrated on adding new features and the whole browser is pretty unstable. I keep getting errors with third party libraries (jQuery 1.4) and controls. Sometimes the errors are pretty funny, e.g.:

SCRIPT5022: Exception thrown and not caught

Waiting for the beta....

<comment><USER15> That's probably the issue with the JS standard they discuss here: [http://blogs.msdn.com/b/ie/archive/2010/07/16/how- ie9-platfo...](http://blogs.msdn.com/b/ie/archive/2010/07/16/how-ie9-platform- preview-feedback-changed-the-javascript-standard.aspx)

</comment></comment><comment><USER16> Until IE9 supports auto-updates down the wire, like Chrome, it is as bad as IE6. IE6 was a great browser when it came out. It took years to become the horrible monster we know it to be. If IE9 doesn't auto-update, all it can achieve is the same success as IE6.

<comment><USER17> Not a chance.

Silently rolled out security updates? Maybe. But general purpose auto-updating behavior? Nope. Predicability is a key motivator for enterprises to use Microsoft software.

Convincing businesses to standardize on a particular IE version inside their organizations grants Microsoft a key sales differentiator: "If you use our competitors' software, you'll need to permanently retain an engineering staff to deal with an ever changing platform."

If you're an internet startup, Microsoft's position sounds insane, but consider the stance of tech-ignorant governments and corporations. Yeah, ideally, they should have engineering teams and utilize them to optimize their businesses. Realistically, they don't know how.

If you ask me: the standardizations bodies need to step in here. Let <!DOCTYPE HTML> be the wild west, but declare a deadline for all browsers to work on their HTML 5 implementations. When that deadline passes, all browsers would have a small window of time to release a version which handles <!DOCTYPE HTML5> as a stable, non-changing rendering engine. Then developers could opt into a stable platform, or the wild west. Enterprises could develop internal tools with a fixed doctype and browser venders could pledge support for those rendering engineers. Internet startups could stay on the bleeding edge and play the upkeep game.

<comment><USER16> I didn't say it was a realistic prospect. What I mean is that this is the biggest flaw of IE. 98% of IE6's crappiness is directly dependent on the fact that it doesn't auto-update. IE6 would never have been such a problem if MS had been able to auto-update it to IE7, 8, 9...

Until that fundamental philosophy flaw is fixed, the rest is just putting lipstick on a Sarah Palin. I won't get excited about IE9 passing ACID3 tests, because all it means is that for a while IE will be an ok browser, but within a year or two it will suck again. I much prefer permanent solutions.

</comment></comment></comment><comment><USER18> Yay, IE9 supports rounded corners and drop shadow in CSS.

Things like that certainly makes it suck a lot less when adjusting css styles made for webkit to work on IE as well.

</comment><comment><USER19> Unfortunately by the time we can count on this being available on a majority of client computers, the web will have moved on to newer and better things.

As long as Microsoft insists on allowing users to use anything but the latest version, we will have to play to the slowest mover - which will make everybody suffer.

<comment><USER20> Hm, is that actually true? Internet Explorer 7 seems to be fading fast. Internet Explorer 6 is in my eyes the only really big problem and there is not much Microsoft can do about it. (They should bring IE9 to XP but I don't think that's going to help all that much.)

Transitions seem to be fast now, Microsoft can push out updates relatively quickly.

<comment><USER21> Some data, from justin.tv:

IE8: 75.57%

IE7: 17.84%

IE6: 6.57%

All other versions of IE: 0.02%

<comment><USER22> Yeah this is good, but the thing to keep in mind is that an OS release always drives these numbers way up. IE8 comes with Windows 7. Vista didn't do so well so the IE7 numbers reflect that.

IE9 Won't benefit from being part of an OS release (unfortunately).

<comment><USER23> It's not just that... large corporations that are sticking with XP are finally getting around to upgrading from IE6 - and skipping directly to IE8.

<comment><USER24> Windows XP Pro price raised (on average) to around $150. Windows 7 Pro is (on average) $85. I know large corporations get killer deals, but over time the cost will outweigh the benefits. I think the phase out will be less than 5 years for most businesses.

</comment></comment></comment></comment></comment></comment><comment><USER25> after all these years: 95/100. great work huh?

why don't they stop with IE already and start shipping a webkit-based browser? why would they want to always be a couple years behind everyone else on that front?

<comment><USER26> While I would be incredibly happy to hear that IE switched to webkit. 95/100 is a great ACID3 score. And they explained why a few of the points weren't made. ACID3 just tests things that browsers usually get wrong. Not necessarily things that are in that high demand to be used by Web Developers.

IE9 is an amazing step-up from IE8 so far and I think we should all be patting them on the back. I'm sure dealing with Microsoft policies and playing catchup to the other browsers is no easy task. And the team is doing a great job trying to modernize IE9.

<comment><USER27> > IE9 is an amazing step-up from IE8 so far and I think we should all be > patting them on the back.

A boss once told me "you don't get rewarded for doing your job - you get paid." :)

<comment><USER23> Sure, but you don't work for that guy anymore, do you?

<comment><USER27> Heh, no. And he _was_ a major factor in my resignation. We were all pretty sure he fit the clinical definition of psychopath.</comment></comment></comment></comment></comment>


Signal picked up from Russia's stranded Mars probe - <AUTHOR> http://www.bbc.co.uk/news/science-environment-15850516

<comment><USER2> > The agency had to modify its 15m dish in Perth to get through to Phobos- > Grunt. This required widening the antenna's beam to catch the probe in its > uncertain orbit.

> Perth also reduced the power of the transmission to make it more like the > sort of faint X-band signal the craft would expect to hear at Mars.

> "We were able to get our transmission in and the commands that were sent > then allowed the transmitter on the spacecraft to be turned on; and then we > saw the signal coming back into our big dish," explained Dr Klaus-Juergen > Schulz, the head of the ground station systems division at Esa-Esoc.

The hacker ethic is alive and well in space operations!

<comment><USER3> There's a long history of this sort of thing. All communication with Galileo, for instance, was via the auxiliary transmitter intended to properly target the much bigger main transmitter; the main transmitter dish was damaged on launch.

<comment><USER4> As part of the measures to increase the efficiency of transmission, a new coder/decoder was developed to add about 2dB to the SNR to the transmitter.

It was called the Big Viterbi Decoder, or BVD for short. The noted information theorist Ed Posner, who was on the design team, quipped, "I've worked on hardware and on software for space systems, but this will be the first time I've worked on underwear."

</comment></comment></comment><comment><USER5> > The best scenario is that the issues are related to a software anomaly, and > that engineers can then upload new commands.

Dear Santa, please bring me a 15m dish for Christmas, because I badly want to try to upload new commands too.

More seriously, I never realized that there are probably a lot of hackable things flying above our heads, provided that you have the appropriate equipment.

<comment><USER6> I'd imagine you need a particular encryption key to do it.

<comment><USER5> I'd bet, though, that many things aren't very well protected, because people designing space systems assume that nobody is going to try to mess with them, and also because they probably use proprietary communication protocols.

But just imagine how cool it would be to ssh into a _satellite_ :)

<comment><USER7> A few years ago I worked for a satellite imagery company. I can tell you that communications with space vehicles in orbit are heavily encrypted using very strong and very proprietary algorithms that require special hardware. Because of this encryption, I had to acquire a government security clearance.

<comment><USER8> "very proprietary" does not usually imply "very strong".

<comment><USER9> It does when "very proprietary hardware" is code for "supplied by the NSA."

</comment></comment></comment></comment></comment></comment><comment><USER10> It's nice to see the ESA working to help the Russians, I guess they do it mostly for science's sake!

<comment><USER11> ESA and RKA cooperate very closely in many areas.

<comment><USER12> Arianespace is even doing commercial launches of Soyuz rockets from Guiana:

[http://www.arianespace.com/launch-services-soyuz/soyuz- intro...](http://www.arianespace.com/launch-services-soyuz/soyuz- introduction.asp)

</comment></comment></comment><comment><USER13> Spaceflight Now is reporting that no meaningful telemetry was picked up, but a signal was acquired. They're going to try again from Perth today: <http://www.spaceflightnow.com/news/n1111/23phobosgrunt/>

</comment><comment><USER14> Pinged. Ok.

</comment><comment><USER15> Fingers crossed.</comment>


How to run your own e-mail server with your own domain, part 1 - <AUTHOR> http://arstechnica.com/information-technology/2014/02/how-to-run-your-own-e-mail-server-with-your-own-domain-part-1/ <comment><USER2> "you'll either need to be on a business-class connection with unblocked ports and a non-blacklisted IP address, or you'll need a hosting service"

Hardly "your won e-mail server" then :(</comment>


Ask HN: What's the best platform for a web apps MVP? - <AUTHOR>

Hello all,  I'm about to write a MVP for a web apps which I have all the ideas and design.  Coming from an infrastructure background, I've personally developed few micro-services in Sinatra and Rails, but want to learn about NodeJS and Django.
I haven't come to a conclusion on which platform framework to use and each has its own pros/cons.
I have few things that might we are looking for : - handle very well in real-time traffic
- starts as a web app, but eventually most traffic will be coming from mobile apps - build RESTful API at beginning - deals lots of location data - using MySQL - provide some analytics
Any recommendations?
Thanks in advanced. <comment><USER2> Loving SailsJS right now for building out API's and if I ever want to integrate sockets with it I can.

<comment><AUTHOR> Any choices for DB? Should we continue with MySQL as we are most familiar or any other NoSQL can give us the good performance in real-time? No, not a big fan on dealing with Redis. We probably want a more reliable, fault-tolerant DB.

<comment><AUTHOR> Or what about this one? [https://www.meteor.com](https://www.meteor.com)</comment></comment></comment>


Telephony, SMS, and MMS APIs - <AUTHOR> https://docs.google.com/spreadsheets/d/1BshonTqZfYcSBRA7bs4DsQ6PChdAeNRn9LV4tMgwEeo/edit?pref=2&pli=1#gid=0 <comment><USER2> Dev from ClockworkSMS here.

Just want to correct this list, as we definitely do support SSL, and we've just upgraded the certificate: [https://www.clockworksms.com/blog/ssl- sha2/](https://www.clockworksms.com/blog/ssl-sha2/)

If SSL isn't enough, we can also do VPNs directly to our (only UK based) datacentres.

Feel free to ask questions if you have them. We've got good links to the US and great coverage throughout the rest of the world

</comment><comment><USER3> I've used both raw devices and 2 or 3 commercial SMS APIs to implement international SMS systems commercialy over the last 10 years: Middle East, Iran, Europe, East Asia, etc. IMHO the best are the ones that let you send raw SMS PDUs, which isn't that hard. If you want to do international SMS, and care about cost, then using non UCS2 encodings is a requirement. Without raw SMS PDU support, you are basically screwed. Swedish 42IT AB[0] was a good one though their capacity for and speed of detection of route failure was definitely not ideal. I've never needed inbound but did set it up with raw devices back in about 2005 and it worked fine. One technique few people use which I think is great is _forwarding your service business ' phone number to people as an SMS contact when people sign up to your website_. This stuff is becoming a lost art.

[0] [http://fortytwotele.com/](http://fortytwotele.com/)

</comment><comment><USER4> I wish I had something like this sooner. I decided to go with Plivo for a side-project of mine and while my experience has been pleasant I really miss MMS support. I'm going to take some time going through this list evaluating different MMS providers. Anybody have any experience with a particular company on this list with MMS that they enjoy?

<comment><USER5> MMS Providers seem to be few and far between. Looking for an Australian offering at the moment - having some trouble. Any advice welcomed.

</comment></comment><comment><USER6> Since they're all pretty much the same, the main factor appears to be missing: price.

<comment><USER7> they don't all disclose price publicly and I'd probably get a takedown notice if I posted prices, b/c they can always change and that's misleading the consumers.

<comment><USER8> are you obligated to be accurate? I appreciate the list (thank you, or thank the curator) but I would imagine that if you are independent you have no obligation to be correct?

<comment><USER7> Not sure.

</comment></comment></comment></comment><comment><USER7> I see you reposted my post from an internal hackathon hackers post.

</comment><comment><USER9> It would be good to know which of them support international numbers, or how many country it covers

<comment><USER10> Seconded. (I am targeting Asia and Africa.)

</comment></comment><comment><USER11> Hi,

I wanted to add Mblox to this list, if possible. We provide HTTP, Rest and SMPP connections, along with web based applications. We have over 100 direct operator connections, as well as global coverage to over 978 networks.

We offer MMS support within the US as well as approved US & Carrier SMS connections. I will be more than happy to speak to anyone regarding their requirements - please get in touch, email@example.com

Look forward to hearing from you,

Sarah [https://www.mblox.com/](https://www.mblox.com/)

</comment><comment><USER12> For those of you that don't want to code interactions (going beyond simple notifications) via SMS & especially Telephony/IVR calls - and also let your business team members build and manage these interaction flows via a browser instead, check us out: [https://www.engageSPARK.com](https://www.engageSPARK.com) .

Developers use our Subscription API to trigger an interactive SMS or IVR call campaign (that they've built via our website first) - by simply sending us the campaign ID and the recipient's phone number. This saves them days/weeks of coding to Twilio/Plivo/etc's APIs and they offload all changes to the interaction flows to their business team members. We've been used in 80+ countries, including by Intel and UN WFP. :)

</comment><comment><USER13> We have an API for sending bulk SMS and libraries written in PHP, NodeJS, Python, Ruby, Java, C#, Go and Rust. You can try out the API and send some test messages to your phone straight from your browser at: [https://zensend.io/#demo](https://zensend.io/#demo) .

We have the most experience in the UK market because this is where we do most of our premium sms/direct billing business under another company ([http://www.fonix.com/](http://www.fonix.com/)) but we support bulk messaging to a lot of different countries ([https://zensend.io/pricing](https://zensend.io/pricing)).

<comment><USER14> Oh neat! I hadn't seen this before. Any chance you all would like to get on [http://rust-lang.org/friends.html](http://rust-lang.org/friends.html) ? :)

</comment></comment><comment><USER15> The data appears to be culled from ProgrammableWeb.

<comment><USER7> correct.

I had my outsourcer do it. not sure if they scraped it or used LinkKlipper.

<comment><USER16> Really fascinated of this kind of semi--outsourced work procedure. Outsource the manual data entry to somewhere else for a minimum cost and then focus on your core strengths alone.

<comment><USER7> I outsource everything I suck at.

So that tends to be a lot of stuff.

</comment></comment></comment></comment><comment><USER17> Thanks for the list.

I would be really interested in SMS deliverability data by country or region for different SMS API providers. I think it is really key when choosing SMS providers, and it is hard data to get.

</comment><comment><USER18> Hey dev from MessageBird here. We are "mollie-sms" on the list.

We changed our name long ago and along with the name many other things: We support SMPP, SMPP over TLS, http apis that support TLS (with libs in many languages [https://github.com/messagebird](https://github.com/messagebird)), SS7, easy delivery over all over the world (except North Korea).

And many more exciting stuff coming up.

</comment><comment><USER19> I really wish people would more clearly distinguish library APIs from RPC APIs exposed by corporations' servers. I have no desire to deal with another company but I would love an open-source library implementing the client side of MMS, or at least some readable documentation about how the hell it works.

<comment><USER20> Do you have example of potential alternative naming schemes?

<comment><USER19> I would refer to these as "services" and "libraries"; referring to either as an "API" is conflating a tool with its interface.

</comment></comment></comment><comment><USER21> It would be more useful if the list has inbound/2-way, raw PDU, long/shortcode, sender ID etc.

</comment><comment><USER22> wow, i'm out of the loop. what is everyone building with these types of APIs?

<comment><USER23> Two factor authentication and notifications of any type would be the two things that come up in my mind first.

<comment><USER24> More: allowing contact from offline users (newspapers, tv, radio) and interacting with them, mobile payments.

</comment></comment></comment><comment><USER25> If anyone is looking for an SMS REST API using a shared short code, check out: [https://api.mobiniti.com/v1/docs](https://api.mobiniti.com/v1/docs)

</comment><comment><USER26> I'm currently using Nexmo for a side project, but am looking to move. I recently had to buy some more numbers and realized Nexmo had almost none available. Anyone have this issue with other providers?

<comment><USER27> Nexmo's inventory especially for North America numbers has been an issue for a while. Are you using them for Voice, SMS, or both?

<comment><USER26> Just SMS as of now. I'm looking into moving over to something with shortcodes now.

</comment></comment></comment><comment><USER28> Its a great list but what's the context?

<comment><USER7> Twilio's IPO just occurred.

<comment><USER29> Do you expect worse service because of the ipo?

</comment></comment></comment><comment><USER30> I've done this before and HATED it. Outside the usa is a nightmare. I mostly used clickatell and tropo

</comment><comment><USER31> Would be nice if it included pricing per # and per SMS msg sent, etc...and any other fees.

<comment><USER7> none of these companies will list their prices publicly... twilio will b/c they're probably slightly over priced.

Always negotiate lower prices and shop around.

<comment><USER6> Plivo, Nexmo & Bandwidth all list their (much lower) pricing.

</comment></comment></comment><comment><USER32> Thanks for putting this list together!</comment>


My computer experience - <AUTHOR> http://dangoldin.com/2014/04/12/my-computer-experience/

<comment><USER2> > I grew up just as computers were becoming mainstream,

> the spread of the internet coincided with my teens,

> saw the rise of "Web 2.0" during college

i usually eat up these stories.

but your vague phrases, on both sides of the equation, make it impossible to make any sense out of the piece.

you recognize great change has occurred during this time, but without specifying the years, _exactly,_ the message you've sent (and any meaning it might have) is confused.

attaching solid dates -- the exact year when you born, the exact year when you graduated from college, etc. -- would give remarkably more meaningful reference points.

-bowerbird

</comment><comment><USER3> Very cool</comment>


Twitter needs a drastic plan to save itself. Here it is - <AUTHOR> http://www.slate.com/articles/technology/bitwise/2016/01/twitter_needs_a_drastic_plan_to_save_itself_here_it_is.html <comment><USER2> So basically... another safe space... because everyone feels entitled to only feel good feelings and never have to deal with harsh people...</comment>


Twitter CEO: 'We suck at dealing with abuse' - <AUTHOR> http://www.theverge.com/2015/2/4/7982099/twitter-ceo-sent-memo-taking-personal-responsibility-for-the <comment><USER2> Twitter is built for harassing. The medium makes it inevitable. you make a tweet and you shoot it out into the ether. It ends up on a couple million twitter feeds whether they asked for it or not. It angers some of those people, and they retweet it to show their followers how stupid you are. Now all their like-minded friends see that tweet in their feeds. A bunch of them are now aware of your existence and are mad and tweet back at you. This is far worse when you participate in a contentious issue on a hashtag. This is before you even get into hate-following and active-deliberate harassers. Then there is scale. There are a couple hundred million people on Twitter. If even .01% of them are sociopaths, that is a near-unmanageable problem.

Finally, a significant portion of Twitter is quite literally trolls trolling trolls. They both can dish it out and take it and don't see the problem. Good for them, but it's not compatible with everybody else.

<comment><USER3> I think Reddit is really interesting in this respect - you have pro skub and anti skub subreddits sitting side by side. Yes, they get caught up in downvote brigading and whatnot, but battles aren't the status quo like on twitter.

On reddit, the subreddits you subscribe to are your choice, but if the groups of users on twitter are homogenous enough then I wonder if you could automate siloing of users. People with correlated behavior get moved into their own silos and then if you or other users in your silo block a person, they don't show up in your feed.

</comment></comment><comment><USER4> I think anonymous accounts should be expensive (in terms of time) to set up. Anonymity and pseudonyms are important for those who need to whistleblow or are from oppressed groups so the possibility absolutely needs to be preserved. But what isn't needed is cheap throwaway accounts that can be used for abuse and then discarded as soon as they are banned.

If to sign up anonymously you had to do something, a quiz or play through a game that took about 30 minutes then that would reduce the rate of account creation for abuse. If you were prepared to give a real phone number (and use it for verification) then you could bypass the task and get an instant account but obviously any ban would apply to the phone number not just that particular account.

<comment><USER5> Exactly this, and what's so mind boggling is that this is not a new problem by any means. I'm sure that among twitter's worries is how to effectively scale an abuse prevention operation, but there are some pretty easy automatic filters that would go a long way. A few that come to mind (provided accounts are tied to phone numbers):

1) A block that prevents the harasser from even @mentioning the harassee in any way.

2) Automatic disabling of accounts that are blocked by more than two users whom the harasser explicitly @mentioned

3) A "dog house" mode which automatically disables distribution of a user's tweets who have been reported as harassment without explicitly telling them, leaving them to harass nothingness until they get bored and leave.

<comment><USER4> Number 2 could probably be abused. Get several people to respond to somebody and when they reply block them.

Number 3 needs to be applied carefully as wrongfully banned people (it does happen) will be harmed.

<comment><USER5> (replying to both since they're effectively the same comment)

Abuse of such things is definitely a challenge, and there is finesse on choosing the right thresholds. I doubt twitter can fully escape manual moderation and as such one of the goals of a system like this would simply be to reduce the number of situations that require human intervention. Undoubtedly, there will be false positives, but abuse of the abuse system will likely be rarer than abuse as a whole and if a human moderates and finds such meta-abuse it would be grounds for the strictest means of blocking twitter can provide, thereby hopefully incentivizing against it.

</comment></comment></comment></comment><comment><USER6> Who defines harassment? I've seen someone be banned from Twitter for criticising someone they've never even contacted. The Verge, in one article, along with actual threats, said a person who did not threaten but simply insulted another person was a harasser. People in arguments publish other people's phone numbers to a few thousand followers, they'll drop off and then come online again. AFAICT the argument goes that if you insult someone, it's 'calling them out' but if someone insults you it's 'harassment'.

<comment><USER7> Right in the article: [http://femfreq.tumblr.com/post/109319269825/one-week- of-hara...](http://femfreq.tumblr.com/post/109319269825/one-week-of- harassment-on-twitter)

But frankly, if you're pulling in you anecdote to imply that there's no problem, I doubt you actually give a shit.

<comment><USER6> That article is the one mentioned in the post you're replying to. There's actual, horrible threats there, but there's also many people who simply insulted someone else. The Verge seems to think they're equivalent. They're not.

The Verge also ignores death threats and postal threats this person's followers have made - as the parent said, when it's the side you like, it's fine, when it's the side you don't, it's harassment.

You mentioned I 'pulled in an anecdote and don't give a shit'. Harassment normally involves contacting someone, rather than simply insulting someone, so that case seems quite relevant. Re: 'don't give a shit', I do care about this issue, I can simply see the obvious inconsistencies.

I think there's a problem, but not with Twitter the company. I think it's with people who talk about nuanced topics over 140 character sound bytes, and the egos at play on Twitter.

<comment><USER8> Why is verbal abuse always the first battlefield of the internet 'free speech' advocate?

<comment><USER9> Coming from experiencing extreme verbal abuse offline, id counter by expressing how even just talking about and repeating forms of verbal abuse is dangerous.

Maturing moderation through systems such as Aether ([http://www.getaether.com](http://www.getaether.com)) is going to need free speech to evolve systems to filter freely.

Social media support group systems struggle with talking about trouble directly because we're waging war on words, when we still need to start addressing battles.

<comment><USER8> I am totally onboard with better self-moderation tools; I'm a proud user of BlockTogether and theBlockBot, they've made Twitter almost 100% more pleasant to use than it was before.

I've even had some ideas myself on apps that might provide better platforms for some, I just haven't got the chops to pull it off yet. In particular I think we need more platforms that allow public address without the implicit expectation that doing so makes you open season for every anonymous troll on the internet.

I think that services as well can do a better job turning all this 'big data science' to problems like this; it doesn't take a genius to realize that if a Twitter account pops up with no followers and its first few dozen messages are all loaded with invective and little else, maybe that account wasn't made in good faith.

<comment><USER9> Committing ignorance can be read as trolling and dangerous, so problem-solving by forcing a win-lose memory process, ends by repressing asking to account for any deeper empathic accuracy of a real stable log.

What genius is let go is if we can design a system that lets users filter, and share filters, without categorically/deleteriously removing parts of people's real life data we have trouble with.

If we want to wholly deal with safety, sanity, abuse, pain, and words we equate power to record, we need to be able to read and write by sorting with due diligence enough to keep every end together, every bit of speech a turn worthy of ID, and then let users tool ways to filter, tag, label, and identify problems openly.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Twitter isn't alone in this. Facebook and Snapchat both have issues with harassment. YikYak had a bad case of it too. I think that if these companies really care about curbing harassment, they would approach each other and tackle the issue together. If someone is trolling on facebook, they probably do it on twitter too.

Riot Games (League of Legends) has The Tribunal, where players who harass get judgements handed down from other players. Perhaps social media needs a tribunal of sorts, with participation from Twitter et al to enact "sentences".</comment>


Ask HN: How do you build a team? - <AUTHOR>

For certain projects where different roles are required for collaboration, how do you build your team? What does the process look like for you? What are the challenges you face in the process? <comment><USER2> 0\. No prima donnas.

1\. Ask yourself: Can the prospective team member 'do it'?

2\. Have an open planning process and get buy in from team members.</comment>


Picovoice – Embed private voice AI into any product instantly - <AUTHOR> https://picovoice.ai/#voice-control-demo <comment><USER2> Link to the github repo: [https://github.com/picovoice/porcupine](https://github.com/picovoice/porcupine)

The keyword generating application: [https://github.com/Picovoice/Porcupine/tree/master/tools/opt...](https://github.com/Picovoice/Porcupine/tree/master/tools/optimizer)

The keyword generating application is free for personal use only and requires a license for commercial use, but there's no pricing available and it only provides an email address for contacting about purchasing a license.

If anyone from the team is reading this, the information above should be front and center on the landing page. I would guess that 99% of your site visitors are going to bounce on your landing page because the relevant information is buried so deeply.

<comment><USER3> This is Alireza. I am the founder of Picovoice. Thanks a lot for the information and also sharing. I 100% agree we do need to work on the website and its content. It is definitely in our TODO list. Will prioritize. In the meantime happy to answer any commercial questions via email firstname.lastname@example.com

Thanks again for sharing

<comment><USER4> You could have answered the pricing question here, directly, in response to someone asking about it.

You said it needed to be addressed, and was a priority yet the question remains unanswered. It gives me the cognitive-dissonance.

<comment><USER5> I take it this is one of those "contact us for a quote" type of deals.

<comment><USER3> The reason the quote is not present is that there are just too many factors involved. What is the platform you are using (iOS, Android, ARM Cortex-M, DSP, etc)? What is the scale? Are you deploying to ten devices or ten million? Do you have specific runtime requirements? Some people have limited RAM (e.g. I only have 32KB of RAM), some limited CPU, some limited FLASH, etc. How many models do you need? Are there proper words or brand/made up names? Is it English? How much engineering support do you need?

In reality, it is a lengthy decision tree. I do not want to put that here or on the company's website as it will just maximize the confusion. But it makes sense to put the common easy cases and then ask for contact in the rest. Which is probably the path we take as it will save us some time.

That being said I challenge you to find a company who offers similar tech and have pricing on their website. I suspect what I mentioned is the reason. I could be wrong.

<comment><USER6> How easy would your tech adjust to recognising sound patterns, for example the idea I have would be an intelligent baby monitor that would identify the various noises a baby makes and alert you accordingly to the babies needs from food, nappy change, distress, pain, etc.

Would that type of stuff be viable with your technology?

Though would be a way of automated nappy changing, but an automated rattle or such toy triggered by the baby may well make some tasks less impacting and equally more engaging for the baby. Though identification of needs and with that recognition via audio would be the start.

<comment><USER7> "I've soiled myself... how embarrassing!"

[https://simpsonswiki.com/wiki/Baby_translator](https://simpsonswiki.com/wiki/Baby_translator)

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> > Picovoice is a team of applied scientists and engineers who strive to build > a future where our lives are enhanced with ambient voice AIs, while > respecting your privacy.

Oh wow, thank you!

I also saw a reference that this is all open-source but [https://github.com/Picovoice/](https://github.com/Picovoice/) does not have a Picovoice repository. Is it [https://github.com/Picovoice/Porcupine](https://github.com/Picovoice/Porcupine)?

<comment><USER9> Porcupine is just wake word detection, which in itself is very useful indeed.

Not sure what the plans for open sourcing the rest of the components are though.

<comment><USER3> Hello. Thanks for the comment. We have plans to open source two more products this year. with similar licensing compared to Porcupine.

1- Speech-to-Intent: It allows you to issue complex voice commands in a specific domain and in turn returns the intent. For example, in the case of a coffee maker you can say "Please may I have a single shot espresso with no milk and two sugars". The engine returns a JSON-like object with {"product": "espresso", "milk": "no", "sugar", "two", "# shots": "2"}. It is a tightly coupled domain-specific speech recognition and NLU. It is small (less than 3MB and 8% CPU usage on RPi3) and ideal for home automation, industrial application, service industry, etc.

2- Speech-to-Text: It is large vocabulary speech recognition software that runs locally. It will support all platforms currently being supported. It allows you to do large vocabulary transcription with high accuracy locally on an embedded platform.

<comment><USER10> Are those two multi language? I can think of a lot of use cases for industrial IoT if they support Spanish and Portuguese

</comment></comment></comment></comment><comment><USER11> I wonder how this compares to snips[1]. I recently connected snips to my lights and it works pretty flawlessly. Picovoice does look like its easier to integrate into an app though.

[1] [http://snips.ai/](http://snips.ai/)

<comment><USER3> I am the founder of Picovoice. I am NOT going to comment on comparison as obviously I will be biased ;)

With Picovoice you can use the voice control engine to accomplish this. Maybe something similar to this demo?

[https://picovoice.ai/#voice-control-demo](https://picovoice.ai/#voice- control-demo)

The cool thing about this engine is that it is tiny. It uses less than 8% CPU on RPi3 and altogether it is less than 2MB (code, model, etc). Technically you can run it on something much smaller and cheaper than RPi.

Alternatively, the speech-to-intent engine could be a good candidate. More information on this along with an interactive demo will be released this weekend.

<comment><USER11> I would love to see some benchmark numbers on Picovoice. The small size and low CPU is definitely interesting but I'm worried that performance is hindered because of this. Also, is 8% peak usage? Having this loaded on some small IoT chip will be awesome to see.

<comment><USER3> You should check this out: [https://github.com/Picovoice/wakeword- benchmark](https://github.com/Picovoice/wakeword-benchmark)

We do work with a couple of SoC manufacturers and will disclose some of the results when our partners are ready. In general, we can run on any MCU with a C compiler and 200KB of RAM (maybe less if there is fast FLASH available). We already of models working on ARM Cortex-M and Cadence's HiFi4.

</comment></comment></comment></comment><comment><USER12> The demo is pretty cool - the thing I liked best was this line:

"You can turn off your internet connection and it will keep working."

That's nice!

<comment><USER3> It is true! Have you tried it? :)

We will add another demo for speech-to-intent module fairly soon (over this weekend). Stay tuned!

<comment><USER12> Not yet - my work computer doesn't like being cut off from the world due to financial apps that I run, but I'll try when I'm home this weekend.

</comment></comment></comment><comment><USER13> Just took a closer look at the examples and played around with some code. It works really well and a surprisingly low footprint. Basically doing exactly what is promised.

However i wonder why there is no way (visible?) to generate words for Javascript? Or at least a documentation on how the format for those byte arrays is build.

Assuming this is a licensing thing, i would really suggest to not put limit in that way. On first impression i assumed that this is useable for free for everything except commerical projects.

<comment><USER14> Came here to say this.. Had a great idea for using this to help train pilots to do the RT (i'm doing my PPL now, and this would be perfect..) The lack of JS optimizer means i can't really hack on what, could have become a nice passive income site.

</comment></comment><comment><USER15> Can I use this for my home automation setup? It seems the github link is only part of the product. Do you license this for individual users?

<comment><USER16> This is my question too. I looked at Snips but they had no timeline on Windows support and were more interested in talking about their crypto coin than answering basic questions about their software.

<comment><USER11> I had pretty good luck reaching out to the developers on Discord these past couple weeks. Not sure when you tried but I recommend trying it again. I personally I think snips is way more appropriate on something embedded like a RPi. I was up and running with their new sam package within minutes. Their new update (about two months?) really made it more user friendly. Unfortunately, their windows packages is still very broken.

E: You should probably try in the late night or early morning time for the States (EST) since they are located in Europe I believe.

<comment><USER3> BTW, Picovocie runs on RPi (all variant not only RPi3).

<comment><USER11> I'm currently running snips on a RPi 2 (Model B) and it's working so far so good! Not too sure about the original Rpi though. I'm debating on getting a RPi 3 to see if the performance is better.

<comment><USER3> RPi3 is definitely faster. We also run on RPi 1/zero/etc.

</comment></comment></comment></comment></comment></comment><comment><USER17> Is this not just [https://github.com/ARM-software/ML-KWS-for- MCU](https://github.com/ARM-software/ML-KWS-for-MCU) trained on new keywords? Maybe I'm missing what is so special here?

<comment><USER3> the project you mentioned is wake-word for ARM only. Great project, BTW. For wake word, we provide on-demand model generation. We do also more than wake word. Finally, we can run on other CPUs/OSs as well.

</comment></comment><comment><USER13> How about numbers or complex/unknown words? I would love to proxy everything that isn't known AFTER the offline trigger word to Google voice recognition or something. Is that possible?

<comment><USER3> Numbers and complex words (I am assuming you mean something like "ok blah"?) are doable easily. I am not sure what you mean by unknown words. Could you elaborate?

Obviously, you can just grab the audio stream after the phrase is detected and route it to whatever you like. Google ASR or even a local one running on the device!

<comment><USER13> That is exactly what I ment if I get the audio stream out as well.

I have literally 3 projects, one a current big that depend or would heavily benefit from this. Can't wait to give it a try!

<comment><USER3> Sweet! Go for it!

</comment></comment></comment></comment><comment><USER18> Is this related to picotts?

</comment><comment><USER19> This seems really neat, but my main, blocking issue is that there is absolutely no way to add pronunciation for a wake word. Therefore, if the developers have not explicitly added the word to their vocabulary, you are completely out of luck.

<comment><USER3> If you have a commercial application we can build you the model for any wake word. Since this requires some engineering work on our side we can only offer it to commercial customers at this point.

<comment><USER20> Why not make it possible for anyone to train it instead of you having to do engineering? Is that the profit model? If so, totally valid, but I'm wondering if I'm understanding this right.

<comment><USER3> two reasons:

1- the business model 2- in some cases, it actually needs some engineering. for example a new brand name, etc.

</comment></comment></comment></comment><comment><USER21> It would be nice to support a grammar, a la CMUSphinx: [https://cmusphinx.github.io/wiki/tutoriallm/#grammars](https://cmusphinx.github.io/wiki/tutoriallm/#grammars)

<comment><USER3> Agreed. The reason for not supporting grammar in this product is that we want to keep it extremely lightweight. We do have upcoming products that support grammar as well.

<comment><USER21> Awesome! I look forward to trying out the speech-to-intent and speech-to-text products. Will these also be Apache 2.0 licensed?

</comment></comment></comment><comment><USER22> @kenarsa any plans for a Go integration?

Pretty impressive tech by the way.

</comment><comment><USER23> Which would you vote for picovoice or snips as a voice assistant AI product? I've been meaning to do more research and maybe your comments can help gain more insights.. thanks

</comment><comment><USER24> Doesn't work on Android chrome.

<comment><USER3> The demo is using WebAssembly which is supported by Chrome. It also uses Web Audio API which I believe is again supported by Chrome. I just used the demo on my Android phone using Chrome. I wonder what could be a problem. It the mic on? :) If yes, maybe provide me the version of chrome you are using. I will look into it.

</comment></comment><comment><USER25> This is perfect for a Home Assistant (hass.io) integration.</comment>


Annoying Online Ads Do Cost Business - <AUTHOR> https://www.nngroup.com/articles/annoying-ads-cost-business/ <comment><AUTHOR> > The researchers studied 35 million users of the Pandora streaming music > service during the period from June 2014 to March 2016. Because of the large > sample size, all the findings in the study are statistically significant at > the p < .01 level, and I won't even bother discussing the statistical > analyses, which you can find in the full paper.

> 18.3 million users were assigned to a control group who used the normal > Pandora service with its normal amount of advertising: 3.6 ads per hours of > listening.

> 1.8 million users were assigned to a low-ad group who were served 25% less > advertising than the control group (2.7 ads per hour).

> 1.8 million users were assigned to a high-ad group who were served 38% more > advertising than the control group (5.0 ads per hour).

>(13 million users were assigned to intermediate treatment groups that I will not discuss further.) The results are clear, though not as striking as I would have expected: after 1.5 years of being exposed to the experimental conditions, people did use the service more, the fewer ads they were served. At the end of the experiment:

> The low-ad group listened for 1.7% more hours weekly than the control group.

> The high-ad group listened for 2.8% fewer hours weekly than the control > group.

</comment><comment><USER2> Do they know if any of the affected base had ad blockers installed? Pandora does get ads skipped when I use uBlock Origin as does Spotify web player.

Also, not that I expect them to model it, I am willing to guess that users with a hardware volume knob are less likely to care about ads or workers that take breaks during ad time.

</comment><comment><USER3> Isn't this just a demand curve where price is in minutes. you raise prices sales go down.</comment>


How I hacked physical life with a Minecraft theme park ride - <AUTHOR> http://blog.htmlfusion.com/how-i-hacked-physical-life-with-a-minecraft-theme-park-ride/ <comment><USER2> The video is incredibly cool.</comment>


Brief Video: Rewriting JavaScript into CoffeeScript - <AUTHOR> http://ryanflorence.com/2012/javascript-coffeescript-rewrite

<comment><USER2> I both like and use CoffeeScript, but the video does show off one thing that i personally quite dislike about it.. Implicit returns (which I love in ruby..).

When trying to port over some applications to coffeescript, I had to revisit a whole lot of my functions to add in an empty return; line after code like:

        test: (m) ->
          m(i) for i in this.set

Since I didn't really expect them to build up and return arrays of the results of invoking m, which at times could result in a method that would generate gigantic arrays that I would subsequently throw away, killing my performance.

I probably _should_ have expected that, sure, and if you don't have to deal with too much data it probably won't matter.

<comment><AUTHOR> Out of curiosity ... if you love implicit returns in principle, then why would you dislike them in this context?

Certainly, you need to keep in mind the return value of a function while you're writing it -- if you don't want to return any value, then just "return". And it's definitely something that you need to keep more in mind while porting JS than when writing code from scratch. But given all that, would you really prefer explicit returns in CoffeeScript?

<comment><USER2> I hadn't actually looked at the issues list to notice that this and similar issues have already been brought up plenty enough, so, sorry about that. And I do like implicit returns, and they're one of the main reasons I'm using CoffeeScript in some projects.

What I was trying to express was that I don't generally run into this issue in ruby because the similar looping constructs don't behave this way, and don't carry the same kind of unexpected side-effects:

        def test(lst) lst.each{|i|do_stuff(i)} end

this method will return "lst" back to me, it won't create any new arrays of the do_stuff(i) results, the same goes for for/while loops, whereas:

        def test(lst) lst.map{|i|do_stuff(i)} end

will return the block results. The key difference being that the map method _always_ creates an array and returns it, even if I would have a return; after, so it is consistent.

The only situation where I get into the problem is with looping, and after some time using CoffeeScript, only rarely, so it may just be one of those things you have to put up with. Still crops up occasionally after refactoring though.

I would not want to get rid of implicit returns, and would far rather continue dealing with the loop problems than that. Would just love it if those weren't the only options.

</comment></comment></comment><comment><USER3> You can also cut and paste it into this site: <http://js2coffee.org/>. It's not always perfect, but it will get you 95% of the way there.

</comment><comment><AUTHOR> For more in this genre, see: <http://www.screenr.com/xd0>

</comment><comment><USER4> Is that code really valid CoffeeScript? Last I looked, and I admit that the last time was months ago, 'on' was a reserved keyword (an alias of 'true') and I had to do some quite ugly hacks to be able to have a method named 'on'. This may have been related to dynamically adding the method onto the prototype of some constructor rather than defining it in a class.

Besides that, I still get feelings of discomfort when thinking about rewriting JS to coffeescript when knowing that the compiler will just write it as JS again.

EDIT: Tried it. In this case it seems to works.

</comment><comment><USER5> Can someone explain the 'same name key:value shortcut' feature?

<comment><AUTHOR> It's a DRY thing. Often in JS, object literals assign their keys to values of the same name -- you'll see a lot of this:

        $.ajax(url, {
          data: data,
          contentType: contentType,
          success: success,
          error: error
        });

... not so nice. So as a first stab, you can clean it up like so:

        $.ajax url, {data, contentType, success, error}

... but it's _especially_ nice in the context of destructuring assignment, like for your Node.js imports, for example.

        {spawn, exec} = require 'child_process'

<comment><USER5> Nice. Thanks Jeremy.

</comment></comment></comment><comment><USER6> This is very cool, though I personally find postfix flow control confusing to read. The postfix loop with destructuring is especially odd to me. As I read left to right, I see variables that don't exist "yet" until I get to the later loop clause.

This is probably just a familiarity thing and I would get used to it, but compared to all of the other changes in the video which I think are pretty clean that stood out to me as a bit... iffy?

<comment><AUTHOR> Agreed. I think there's a bit of LOC-golfing at work here. That loop is more nicely written as:

        for {handler, context} in @events[topic]
          handler.apply context, args

</comment></comment><comment><USER7> But... why?

<comment><USER8> If you look back a little ways, you'll see he previously asked the same question in an earlier article. I think this video is sort of his answer.</comment></comment>


Using peer review to avoid a computing-induced apocalypse - <AUTHOR> https://acm-fca.org/2018/03/29/negativeimpacts/ <comment><USER2> I think the proposal is directionally correct, but a bit too sweeping. Saying that "every paper should have a societal impacts section" is naively prescriptive, as can be seen by comparing to statements such as "every paper should have an experiments section" (false for theory papers), or "every paper should have a future work section" (in some papers, future work is folded into the intro).

On the other hand, I am in favor of the idea of holding claims about societal impact to a higher standard of rigor (although worry that the effect might simply be for people to stop making such claims altogether). I also think that encouraging (but not mandating) greater discussion of societal impact would be very positive.

Here is an alternative proposal, motivated by the often space-limited conference format used in computer science: allow for an _optional extra page specifically dedicated to addressing societal impacts of the work_. Reviewers are free to read or ignore this page as they choose, but crucially, this page does not count towards the page limit of the conference.

The goal of the above proposal is to eliminate the need for authors to choose between addressing societal impact and intellectual impact in a paper (even if I care a lot about the former, I know that most reviewers [correctly, in my opinion] care more about the latter, so there is a strong disincentive to spend space on the former given a strict page limit).</comment>