Wikipedia:Reference desk/Archives/Computing/2020 December 8

From Wikipedia, the free encyclopedia
Computing desk
< December 7 << Nov | December | Jan >> Current desk >
Welcome to the Wikipedia Computing Reference Desk Archives
The page you are currently viewing is a transcluded archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages.


December 8[edit]

Two random computing questions[edit]

So, I've got two random computing questions:

1.

a = [1,2,3]
b = [4,5,6]

Why is it that when I do:

c = a + b
print(c)

I get:

[1,2,3,4,5,6]

But when I do:

c = a.append(b)
print(c)

I get:

[1,2,3,[4,5,6]]

What exactly causes the "append" function to operate differently from the "+" function in regards to this? (So, I know how these functions work, the question is why they work the way that they do.)

2. Why doesn't the "append" function also apply to tuples? Indeed, is there any function that does for tuples what "append" does for lists? I'm obviously aware that "+" function works for both lists and tuples, but I'm specifically curious about a tuple equivalent of the "append" function in Python. Futurist110 (talk) 03:32, 8 December 2020 (UTC)[reply]

These aren't computing questions, they are Python questions. Adding two lists together gives you the concatenation of the two lists. If you wanted to sum the elements, use a list comprehension or a package like numpy that handles vector arithmetic. list.append(x) extends the list by one element: in your example, the new element is another list. And you can't do that with tuples because tuples are immutable (you can't change them after they are created). 2602:24A:DE47:BB20:50DE:F402:42A6:A17D (talk) 04:57, 8 December 2020 (UTC)[reply]

It looks like in that language, add (+) does a union of the sets whereas append adds the second set as an element of the first set. Bubba73 You talkin' to me? 05:01, 8 December 2020 (UTC)[reply]
That makes sense. Is there any specific reason that the "append" function was designed in such a specific way? Futurist110 (talk) 06:34, 8 December 2020 (UTC)[reply]
It is a useful function. With a as above, its value after a.append(7) is the list [1,2,3,7]. The question is why they chose to name this method "append", and the method implementing concatenation "extend". In view of the meaning of "append" in other programming languages, this is confusing; swapping these names would have been better, but I guess that by now it is too late.  --Lambiam 11:38, 8 December 2020 (UTC)[reply]
An element of a set can itself be a set. Append adds an element or elements, and in this case the element added is itself a set. Bubba73 You talkin' to me? 01:17, 9 December 2020 (UTC)[reply]
In Python, + is a built-in Python expression, while the append() used here is a method belonging to the built-in list class. That's just how they decided to design the language. My educated guess is that they wanted + to mimic its behavior in a lot of other languages that have it and support its use with "complex" types like strings and lists; examples include C++, Java, and PHP. --47.152.93.24 (talk) 23:32, 8 December 2020 (UTC)[reply]

YT without logging in[edit]

Since I don't want to have a Youtube account, I've recently tried almost all options for bypassing Youtube login demand to watch some restricted videos. But for some reason none of them worked, neither in Firefox nor in Opera (URL altering, NSFW and Listen on Repeat all produce a grey error screen instead of a player screen), though I recall them working some time ago. Is it just me or for all? Thanks. 212.180.235.46 (talk) 18:42, 8 December 2020 (UTC)[reply]

So let me see, I am not sure if I have got this straight. You want to abuse YouTube's interface and possibly violate their Terms of Service to watch videos you're not entitled to, and you want us to help you do that? Elizium23 (talk) 20:20, 8 December 2020 (UTC)[reply]
If I understand the OP correctly, they want to watch age-restricted videos, or other videos where Youtube requires you to agree that the videos may be disturbing/whatever in some way, without logging in. It seems confusing to talk about these videos as being something the OP isn't entitled to. If they are below age then sure technically they're not entitled to watch them, just like the hundreds of millions (I guess) of people below age who watch them with ages where they lied about their age since Youtube doesn't check, but it still seems confusing. It's not like we're talking about Youtube Premium content or something. We're not even talking about geo-restrictions. I'm fairly sure that officially, the only reason Youtube requires accounts is for legal reasons relating to keeping track of this info etc. Nil Einne (talk) 08:14, 9 December 2020 (UTC)[reply]
Why would the OP be "entitled" to view a video owned by someone else and housed on someone else's server? I don't have any memory of viewing Youtube videos being an inalienable right. 97.82.165.112 (talk) 13:34, 9 December 2020 (UTC)[reply]
For the record, I'm 34 years old, so the age is not an issue here. But because I don't want to have an account, I'm effectively forced to bypass this, so any feedback in that regard is appreciated. That said, I can download short videos anyway, but it's not always handy. 212.180.235.46 (talk) 13:39, 9 December 2020 (UTC)[reply]
Also for the record, the ways that the OP mentioned that previously worked, don't work anymore because Youtube have applied age restrictions to embeded videos as well as the video hosted directly on Youtube.185.73.65.98 (talk) 15:22, 9 December 2020 (UTC)[reply]
Thanks, that explains the issue. 212.180.235.46 (talk) 18:44, 9 December 2020 (UTC)[reply]
Hi IP, you could use a VPN (even a trusted free one like ProtonVPN) and create a burner Google account for YouTube? 🎄🎄 Ed talk! 🎄🎄 18:48, 9 December 2020 (UTC)[reply]
Google frequently requires mobile verification, especially for accounts created from network sharing IPs. Possibly if you use an existing email rather than signing up for Gmail this may be less likely since I'm fairly sure on reason for this requirement is to make it harder to use Gmail for spam, but I'm not sure. Also per [1], Youtube may require ID for age verification if they think you're in the EU. Nil Einne (talk) 07:46, 11 December 2020 (UTC)[reply]
You're not "forced" to do anything. YouTube provides a service which is subject to certain terms which may include requiring an account. They are the hosts of the video, you are simply requesting to view them. If you don't want to do it YouTube's way, then live without them. It's pretty simple, I think. Elizium23 (talk) 19:56, 9 December 2020 (UTC)[reply]
I said it's confusing to talk about the OP not being entitled rather than anyone being entitled. Elizium23 was the one to bring up "entitled" without any real evidence what OP is trying to do is always something they aren't "entitled to". AFAIK, Youtube has never claimed that people without accounts aren't "entitled" to watch such content restricted videos. Rather all they say is that they need accounts to verify eligibility. If Youtube wants to say people need accounts to watch age restricted videos, that's up to them but again AFAIK they've never even said that. I'm not sure if they even say that in the EU where they may actually ask for ID for age verification. [2] There are obvious issues with such a claim which IMO makes it unlikely. For example AFAIK, Youtube doesn't say you're forbidden from letting someone watch videos on your account, or with you. Nil Einne (talk) 07:46, 11 December 2020 (UTC)[reply]
youtube-dl bypasses age verification for the majority of videos. 108.6.47.100 (talk) 14:20, 10 December 2020 (UTC)[reply]
youtube-dl violates the Terms of Service set out by YouTube, and copyright holders have objected to it, so I question the wisdom of bringing Wikipedia Reference Desks into disrepute as the place where people are coached on violating user agreements and copyright law. Elizium23 (talk) 01:03, 11 December 2020 (UTC)[reply]

@Elizium23: I don't want to take this too off-topic or too far into the field of legal advice, but the enforceability of Youtube's ToS are highly questionable for certain issues and in certain places. I won't comment further on the issue in relation to this specific issue. But I do think it's reasonable to point use just because Youtube claims you aren't allowed to do something doesn't mean they have an enforceable contract or legal case against you doing so. Youtube may be able to block you from doing so if they so desire, but it doesn't mean they can actually take legal action against you. Especially if you only make one attempt and stop when it's clear Youtube are blocking you.

And as for the violating copyright thing, kindly explain how someone downloading something where the copyright owner explicitly allows such downloads (provided the downloader obeys certain terms) such as Creative Commons [3] [4] and other such freely licenced content, is "violating ..... copyright law". Do you really believe you have some right to tell copyright owners what restrictions they must place on their works? The claim seems even weirder when we consider public domain works [5] (see Smouldering Fires (film)) [6] where there's no/no longer any legally recognised copyright in whatever jurisdiction such a status applies.

Note that I have criticised editors before, and ignored questions, when they appear to be encouraging people to actually violate someone's copyright. Likewise I have deleted external links when they appear to be contributor infringement. So I fully support dealing with actual copyright infringement on the RD. Indeed I've generally avoided mentioning such tools precisely because of copyright concerns as most Youtube content is not licenced a way which clearly allows downloads. (Although there are still questions whether their use violates copyright when they are used for certain purposes e.g. accessibility or allowing the content to be played on older devices or to be able to produce a derivative work with critical commentary; rather than for archival or keeping the content or by-passing ads etc.)

But it's something else to claim that a generic tool automatically violates copyright law even though it can be used for any content including content where the copyright owner has specifically licenced the work in such a way that allows such downloads or there's even no copyright. Again, perhaps Youtube can block such downloads if they desire. But it doesn't mean they have any right to claim such downloads are against the law when they're clearly not. (I don't think Youtube does.)

Note that Github along with the EFF have likewise question the claim that the tool breaks even the strict DMCA. (Which has a DRM bypass restriction stricter than many other legal systems.) But in any case even the claim it did only targeted one particular part of the tool. And as I understand it, it could still work on many Youtube videos without that code.

Nil Einne (talk) 09:30, 11 December 2020 (UTC)[reply]