Hacker News new | past | comments | ask | show | jobs | submit | more reacocard's comments login

From http://republicwireless.com/how:

  I have DSL at home.  Will it work on that or will I have to upgrade to
  something faster?

  You need about 80kbps both ways to hold a call. The more bandwidth the better
  for improved call quality. Don’t forget that streaming video or downloading
  large files all use bandwidth, so your mileage may vary if you are trying to
  make or receive calls and watch Netflix at the same time.
Sounds like it's more likely that your gaming or Netflix would adversely affect the phone than the other way around, though a router with QoS should fix that easily enough.


Because copy won't necessarily work the same way on things that are not lists, which removes some of the flexibility afforded by python's duck typing. Unless you have good reason to require a list specifically, why should you?


But don't the alternatives also depend on list slicing? Heck, the title is `coping a list`. If you have a different datatype, it is the business of that type to specify how to copy using __copy__, isn't it?


Imagine a case like this:

  def example(input_data):
    l = list(input_data)
    # code that uses list-specific stuff and returns a result
The function 'example' doesn't want to touch the original input data, so it needs to make a copy of it. It also contains code that assumes operation on a list, so the copied value needs to support list-like operators. If you assume input_data is a list, you can use [:] or copy() to copy just fine, but if input_data is NOT a list then you cannot feed example a generator or some other list-like object or iterable and know for sure that it is going to work. By explicitly converting to list, you can take anything that implements __iter__, and then safely assume that the rest of your code will be working with lists. This adds a pretty bit of extra flexibility to the function and can make it much easier and/or cleaner to use.

Obviously as with anything the choice of list copy method is situation-dependent. Using [:] makes sense if you can guarantee the input is a list and you need maximal speed. Using copy() makes sense if you just want a copy of the input object and don't specifically care that the copy is itself a list. Using list() makes sense if you want to be able to take in all kinds of input values and be assured that the copy is a list. Use what is best for the situation at hand.



That is bananas. Especially the 8x8 version he links to.


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

Search: