Wikipedia:Reference desk/Archives/Computing/2020 October 11

Computing desk
< October 10 << Sep | October | Nov >> October 12 >
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.


October 11

edit

Help to identify the problems with this table:

edit

Talk:List of protected areas of China#National Scenic and Historic Areas and National Geoparks of China

I wanted to change this listing and tried to work out a new table, to change the Article List of protected areas of China to get it a little bit shorter than now.

But I have a problem: I am no programmer, but I think I have an Idea to realize, how to change it. I was working it out and tried to give it to the talking side of the article. But I saw, that there have to be some changes to do, because the first column and the second column is ok for me, but the third column is to small. Furthermore I tried to look how the table is getting at German wikipedia playground, but I don't know, if there is a playground on English Wikipedia, where I can test my options to change somethings like this.

By the way: the instructions for editing, especially for tables, are too cumbersome for newbies. I've read them in German and in English wikipedia and I am as dumb as before. They are confusing me in cause I just don't know, where I have to take the building blocks, to change a table in that way, I want to take it at the screen. --2001:16B8:284B:B900:3024:369:C7F8:1CE7 (talk) 08:58, 11 October 2020 (UTC)[reply]

I agree that understanding the help page for editing tables is not easy. I usually try to find a table that looks like what I want and then modify the wikisource. The problem with the table of National Areas and Geoparks in China was not easy to spot, but there was somewhere an en-dash ("–") where there should have been a hyphen ("-"). I've fixed this.  --Lambiam 13:05, 11 October 2020 (UTC)[reply]
Oh, and we have a Sandbox for trying out stuff.  --Lambiam 13:07, 11 October 2020 (UTC)[reply]
Thanks, I had the same Idea, but I couldn't find out where en-dash and hyphen had to be changed. It was not very easy, to program this table, so I tried to find out at German playground what was wrong, but I had to give it up after working on it for three or four days, because I wanted to finish writing my German article about Smilax aberrans so I was trying to get impatient with myself. But thanks, for the tip with your sandbox in Germany we say “Spielwiese“ what means in English something like playground I think. :-)--2001:16B8:28BB:2300:F030:620D:322:8E07 (talk) 12:12, 12 October 2020 (UTC)[reply]
By the way: Sandbox means in German something like "Sandkasten" :-) It's a terrible waste sometimes to take the right words in each language. --2001:16B8:28BB:2300:F030:620D:322:8E07 (talk) 16:15, 12 October 2020 (UTC)[reply]
Table format, especially if sortable, implies that all the items in each row have a correspondence. Is there a correspondence between Chaohu Scenic and Historic Area and Dabieshan (Lu'an) National Geopark other than their relative alphabetic rank? If I were making a table of these things, the columns would be Entity, Type, Province. —Tamfang (talk) 03:43, 15 October 2020 (UTC)[reply]

Bot to add wikiproject tags

edit

I noticed a user had used an automated robot to add a wikiproject tag to an article talk page. I'd like to be able to use this myself, but am having trouble finding the right page to access the bot. I asked the user but he said "On a draft page I click through “how to improve the chance of a speedy review” and do it from there. I don’t know how to do it otherwise" I'd like to be able to do it on an ordinary edit page. Could you give a hand with this please? Many thanks Berek (talk) 17:05, 11 October 2020 (UTC)[reply]

@Berek: The page history will show which bot made the edit. You can go to that bot's user page and it may have instructions on how to do what you want. You can also leave a question on that bot's talk page and the bot operator or other users can answer questions about how the bot works. RudolfRed (talk) 20:14, 11 October 2020 (UTC)[reply]

Thanks, RudolfRed Berek (talk) 20:37, 11 October 2020 (UTC)[reply]

What is a clock duty cycle?

edit

What is a "clock duty cycle", which is discussed a couple of times in NEC V20 in the Features section? Bubba73 You talkin' to me? 18:22, 11 October 2020 (UTC)[reply]

Any clock has a period, this contains one on state and one off state. On and off are also called high and low respectively. The time spent in the on state as percent of the total period time is called duty cycle or active cycle.
If I rightly understand it, the meaning for a microprocessor is that the operations the microprocessors has to perform during a cycle must start and be terminated inside the active cycle so a longer active cycle allows for more or more complex operations to be completed per clock cycle. On the other side the active cycle cannot be arbitrarily extended to 100% because some circuits like memory or bus drivers demand some finite time to reach stable high or low states after termination of an operation and this must happen during the not-duty part of the cycle. 2003:F5:6F11:9700:F449:F60B:781B:1503 (talk) 20:56, 11 October 2020 (UTC) Marco PB.[reply]
OK, so the 8080 with the 33% duty cycle can start an instruction only every third clock cycle but the V20 with the 50% duty cycle can start one every other clock cycle, right? Does this need an article, or at least an explanation in articles where it occurs? Bubba73 You talkin' to me? 21:17, 11 October 2020 (UTC)[reply]
No, as far as I understand both processors will start an operation at the beginning of every clock cycle but the 8080 must have completed it after one third of this cycle, while the V20 has still 17% (17 + 33 = 50) of the cycle to do something else or more or better or whatever. But this is what I understand from some vague hints here and there, that is original research. An article Duty_cycle is already there but it doesn't cover this subject and without a reputable source explaining all this in detail there is no way for an explanation or an expansion of the article. You can put a template [clarification needed] at the right place and hope. 2003:F5:6F11:9700:F449:F60B:781B:1503 (talk) 23:34, 11 October 2020 (UTC) Marco PB[reply]
I've added "clarification needed". I didn't think they could do more than one thing in a clock cycle. Bubba73 You talkin' to me? 00:08, 12 October 2020 (UTC)[reply]
Executing an instruction means executing several operations, see Instruction cycle. Instructions needing to access external units like fetching or storing a memory word will normally take several operations, each needing a clock period to complete, three in this simplified example: 1) select the bus controller for read, wait, 2) put the desired address on the bus, wait, 3) fetch your word from the bus and transfer it in some register. On the other hand it is theoretically possible to perform more than one operation per clock period if they don't need to wait for external units, like incrementing some register, copying one register to another or adding two or more registers for example.
Then, if 1) two of these operations come one after the other and 2) together they need less than one duty cycle to complete, then you can execute them inside one duty cycle; if not, then you must execute the first in one duty cycle but the second has to wait for the next duty cycle. So 1) optimizing the way some single operations are executed inside the processor and 2) taking advantage of the longer duty cycle could the V20 now and then execute more operations per cycle than the 8088. See reference #2, 'NEC V20 processor family'.
But of course we are talking here of sequential execution of operations. Parallel execution was then still a vision of the future, I think with the P5 Pentium in the x86 lineage. 2003:F5:6F11:9700:C4E2:290F:31BC:51B2 (talk) 12:40, 14 October 2020 (UTC) Marco PB[reply]

Looking for the best way to run Android/iOS apps on a desktop

edit

I'm the communications person for a non-profit organization, and I'm looking to get our organization on apps like TikTok and SnapChat, but I prefer to do it from the organization's desktop computer instead of using a mobile device. I'm hoping to be able to upload pictures and videos directly from the PC. I know there are emulators out there, is there any particular one that would be best for this purpose? 71.215.24.75 (talk) 22:25, 11 October 2020 (UTC)[reply]

There is no such thing as an iOS emulator or at least not one that is useful for running third party apps. There are plenty of Android "emulators" but you should carefully check the TOS for each app if you plan to use it on an emulator. Wechat for example bans the use of emulators [1] and this is or was enforced. If your account is detected using an emulator, it will be banned. And considering Wechat is still very China centred, good luck getting it unbanned if this happens. Nil Einne (talk) 03:04, 12 October 2020 (UTC)[reply]

It sounds like Snapchat is also notorious for not working with emulators, including crashes which are probably intentional [2], login problems [3] and banning accounts [4] [5] or just generally not working [6]. It sounds like Snapchat also bans rooted or jailbroken phones [7] [8] this isn't that surprising although interesting their official help doesn't explicitly say it's forbidden instead that it may not work because certain tweaks can compromise the security of your account [9]. (Of course it's impossible to know what those reporting problems were doing, if they were trying to make bots this would be part of the reason. But there are enough reports that I'm fairly sure it isn't that simple.)

They do forbid the use of unauthorised third party apps [10], and while this isn't really IMO an accurate description of running the official unmodified Snapchat application on an Android "emulator", I'm not sure they care.

This highlights another point I glossed over why my TOS comment. You should consider that mosts TOSes are written so the company can ban you at their discretion (except where explicitly forbidden by law), and even if they screwed up and didn't, they'll still do so anyway and good luck challenging them. So even if something doesn't seem to be clearly forbidden, your account could still be banned if you do something they don't like now or sometime in the future. Then there's shadow bans which you may not even realise has happened.....

And while you probably have a little better chance at convincing them to unban you if it's a company that isn't so centred on the Chinese market, and especially if your are a non-profit and weren't actually doing anything dodgy besides using an emulator (i.e. no botting/automation or even location spoofing or anything of that sort), it can still be something very difficult to navigate with automated responses, low level staff sending almost automated responses etc. And if it's a shadowban, good luck even getting an acknowledgment it's happened.

You may want to consider alternatives like connecting a phone to a monitor, keyboard and mouse which probably has a lower chance of raising red flags.

P.S. In case it's not clear from the earlier responses, this also means that there is no answer to your main original question. If you still want to use an "emulator", it will depend on which specific app you are trying to run on the emulator, but also varies too much over time. What works best for the app X now, may not be the best for the app the next time the app updates. Maybe 2 months from now a new update for the "emulator" will change things. Or maybe a third "emulator" will now be best. It will likely also depend on how much you manually tweak the "emulator" and other stuff which require more effort e.g. running old versions of the app. Also I suspect what you're concerned about may affect the answer. An "emulator" which makes a greater effort to hide itself may be more likely to result in an long or permanent account ban, whereas an emulator which is easily detected may simply not work.

Nil Einne (talk) 03:41, 12 October 2020 (UTC)[reply]

TikTok and Snapchat are software platforms which provide APIs, so all it takes is a third party writing an app for the desktop. YMMV. Elizium23 (talk) 05:20, 12 October 2020 (UTC)[reply]
I'm fairly sure that asking a third party to write an app for you will still count as an unauthorised third party app, unless you convince Snapchat to authorise it. How easy it is to get approval for third party apps [11], I have no idea. Also, while you will need to check with Snapchat to be sure, I strongly suspect writing your app would still count as an unauthorised third party app if you use it for anything other than to test the app development, even if technically no third party is involved. Note that Snapchat (and so Snapkit) seems to allow web logins, which may be a better alternatively than getting someone to develop an app for you. Alternatively, you could also look for an existing third party app. Note without web logins, you may still have problems developing an app for a non-Android desktop OS. Many APIs use some sort of OAUTH design which means that the login/authorisation doesn't really happen on the third party app, to ensure it cannot harvest login details and this appears to include Snapchat [12]. So without web logins or an official Windows (or whatever) app, this may mean even with an API, the app still needs approval via the official app on a mobile device. Whether you are then allowed to interface with a Windows application, you will probably need to check the app guidelines and TOS to check. And this may or may not require the mobile part of the app to be the one communicating with the server. (The official Whatsapp app was or is like this. While they had a Windows application, it only connected to the app on your phone.) In case it's not clear, my ultimate point is just because a publicly documented API exists, doesn't mean you can use it for a Windows application without running the same risks of bans etc. It depends again on what the service have chosen to allow. If you have to ask this question here, IMO you're much better either sticking with the official app, or using an existing approved/authorised third party application, or simply doing it on the web. Nil Einne (talk) 05:39, 12 October 2020 (UTC)[reply]

Emulators are going to be pretty crappy - your best bet is hoping there's an Android x86 version of these apps. It's also possible (even likely) the apps could break emulation on purpose or ban you because they aren't getting any private data from you or because you look like a bot. Something self-hosted like Nextcloud Talk [13] would avoid these problems. No GDPR headaches, and easy to setup if you're already willing to tackle emulators. Your own server, or any VPS for a couple of $/mo will do for hosting. 93.138.1.207 (talk) 19:59, 12 October 2020 (UTC)[reply]

I think the point is that the organization wants a social media presence, not a sandbox of their own. Elizium23 (talk) 00:55, 13 October 2020 (UTC)[reply]
Yeah you're right, it seems like that to me too now. I initially thought they wanted a way to communicate with existing clients. 93.138.103.251 (talk) 22:32, 13 October 2020 (UTC)[reply]
I'm very slow on such subjects, but why don't have such organisations distributed a desktop version of their apps directly from the beginning? That is a Windows, Mac and Linux version? What is so special about Android, that such apps won't work without it? Thanks 2003:F5:6F11:9700:C4E2:290F:31BC:51B2 (talk) 13:09, 13 October 2020 (UTC) Marco PB[reply]
Android will boot happily in a virtual machine. I run one just for mucking about, the performance is lousy and the screen resolution a joke, but what would you expect for a phone application on a 1920x1080 display! It is a resources hog, not as bad as Windows, but sooooo much slower than Fedora or CentOS. Martin of Sheffield (talk) 13:30, 13 October 2020 (UTC)[reply]
Android screen resolutions are a complete waste. If you can see the difference between 480p and 720p on a 4 inch screen, you're too close. Yet they're selling 4K phones now. 93.138.103.251 (talk) 22:32, 13 October 2020 (UTC)[reply]
The reason app developers skip writing for the Web or for Windows/MacOS X/Linux is because mobile phones have the juiciest sensors and access to personal information. Most apps are just dumb web pages anyway, but you write for Android and iOS and you get access to camera, microphone, GPS, real contacts, call log, all sorts of things that might not be found or accessible on any given desktop machine. This seesaws a bit as browser developers give web pages more access to stuff, but on a mobile OS you can track the user all the time; their phone is always on; it's always in their pocket; your app is always in the background. Elizium23 (talk) 22:37, 13 October 2020 (UTC)[reply]
I see, thank you. A sad situation indeed. I'm glad that I don't need to use a smartphone still. 2003:F5:6F11:9700:C4E2:290F:31BC:51B2 (talk) 11:50, 14 October 2020 (UTC) Marco PB[reply]

I planned to reply but left it a bit late. Since this has already been archived I won't say as much as I planned but I find this answer fairly simplistic. I'm not denying that access to more data that is often made available from phones is of interest to developers but to suggest it's the only reason is questionable. I installed Snapchat a few months ago mostly to test the 'augmented reality' feature for pets since I couldn't find any other app to do that but I don't use it and I've never used TikTok. Still while I have limited person experience, I have read about them and seen enough to tell me these are incredibly mobile centric apps. They're designed for how people especially teens and young adults use their phones. (I'm reminded of this Wikipedia:Reference desk/Archives/Miscellaneous/2020 October 13#Not using your mobile phone for speaking discussion which happened at a similar time.)

E.g. most or all videos on TikTok assume they're being watched on a phone without rotation. (You actually get this difference elsewhere, e.g. I've seen the a video on Youtube which is a typical 16:9 or similar aspect ratio and a Facebook version by the same publisher which is a squarish aspect ratio.) So it's quite likely one of the reasons why app developers skip desktop apps is simply because there is little demand because few want to use these on the desktop. We should also remember the stark differences between the number of desktop and laptop computers and phones, and many of these apps do have significant presence in developing countries where plenty of people simply don't have access to a desktop or laptop computers, but they do have phones.

Also although Elizium23 treated web and desktop apps as the same thing, these often aren't the case. E.g. TikTok does seem to let you watch stuff on the web. They even let you login since April [14]. As already mention, in an earlier post, Snapchat also has web logins. I don't know what you can do on the web.

But this highlights another point. Although the mobile landscape is still heavily app-centric despite some grumblings i.e. many people are happy or even prefer an app, on the desktop side it's more complicated. Many people prefer not to have to bother with a dedicated app and prefer to just use the web. It can be a little complicated for chat and sometimes for video although that tends to be more the Netflix style. (I suspect if you finds stats on people who use Twitch and especially Youtube over the web vs on an app on Windows, the difference will be very stark.) And web also means you can easily support most devices e.g. Chromebooks, Mac OS X and those odd Linux devices; as well as Windows easily. So whatever interest there is for desktops, you're often best served by simply developing a deceased web "app" or site. (This sort of predates phones and it gets even more obvious if we look outside social media type apps. E.g. why on earth would I want a special app/program on my Windows computer just to order from Dominos?)

BTW 'sensor data' also gets complicated, it's not simply a case of wanting that data for how you can analyse it. E.g. Snapchat part of their business model is photos with silly augmented reality effects and stuff. This is something that only really works with a device with a built in camera. Okay plenty of laptops now have one although that tends to be more focused on video conferencing and similar than selfies. Snapchat has I believe also turned that sensor data into a marketing strength in ways beyond simply beyond analysing it e.g. effects tied to a specific area including people paying for that for someone's birthday or whatever, but also companies etc.

WeChat although people sometimes think of it as simply a messaging or social media app actually it a lot more, especially the payment function which the way it's designed assumed a mobile device. But even the messaging part has an interesting connection for how well tied it is into a mobile ecosystem. I buy a fair amount of food products from China and many of these have QR codes. Whenever I've checked these, they've nearly always been details for their WeChat account. Sure you don't have to sign a QR code to connect to these companies over WeChat but it IMO shows how mobile centric it is.

(Again if we look at unrelated apps we can get other examples. The data Uber etc collects is quite useful for them, but at the same time knowing where a driver and their putative passenger is a key part of the way they work. Likewise Domino's only cooking a pizza when you're near, or checking in for Burger King, McDonald's etc.)

Finally there are other advantages for phones besides simply sensor data, notably people tend to be more accepting of notifications on their phones, tend to have them on them a lot of the time, and tend to use them for long periods yet in a certain way (which ties back into my first point.)

In other words/TLDR, while it will depends on the specific app and I'm sure preference for phones by developers has sometimes been influenced by the data, they can get from phones, it's quite likely a far bigger factor is simply something along the lines of 'WTF would we want to develop a desktop app? WTF is going to even use it? Our whole business model is based on people using it on phones for plenty of reasons unrelated to sensor data. Also sometimes we even need that data not simply because we want to data mine it, but because it's a key part of our app. For those weirdos who aren't using their phones, they can just use the web.'

To tie this back into the OP's question, since engaging with companies is often part of their business model, they often do have an API which can be used by apps they approve perhaps tied to weblogins so those who use it in such ways can use desktop or laptop computers rather than their phones, so it isn't just weirdos. But it is always on their terms and it may only come when they get big enough that they care.

Nil Einne (talk) 12:32, 21 October 2020 (UTC)[reply]

Thank you for all of the replies. The purpose is to have a presence on these smart-phone centered apps without having to put it on my own personal cell phone, and in the case of location tracking, without all of my personal business tied to the church, it's not to hide anything, or do anything illegal. That said, considering everyone's replies, I'm wondering if it would be better to have a tablet or a smart phone (without a data plan) that stays at the church and is used only for church business. Now the question is how I'm going to be able to upload content from the equipment that is connected to a PC... Again, thank you. 71.215.24.75 (talk) 23:05, 18 October 2020 (UTC)[reply]