Wikipedia:Reference desk/Archives/Computing/2017 May 1

From Wikipedia, the free encyclopedia
Computing desk
< April 30 << Apr | May | Jun >> May 2 >
Welcome to the Wikipedia Computing Reference Desk Archives
The page you are currently viewing is an archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages.


May 1[edit]

eMail[edit]

I have a number of different eMail address which I want to dispose of how do I get rid of them please?80.234.165.56 (talk) 06:42, 1 May 2017 (UTC)[reply]

You would have to ask the organizations you obtained them from. --76.71.6.254 (talk) 07:34, 1 May 2017 (UTC)[reply]
What do mean by "get rid of"? If you never look at them again, they effectively won't exist for you. Or do they relay to your main inbox? —Tamfang (talk) 07:44, 1 May 2017 (UTC)[reply]
If you mean that you want to purge the email accounts, deleting everything in them so nobody could ever see what you were doing... that is not possible. Copies of emails exist on both ends (the sender and receiver). Your service likely has backups of everything. For a popular example, read up on the Clinton email issue. She owned her own server and clearly gave the order to have emails completely and permanently deleted. But, they still turned up on other computers. 209.149.113.5 (talk) 12:18, 1 May 2017 (UTC)[reply]

Thanks for your responses. Problem is that I am getting unwanted and undesirable emails trying to sell me something. These almost always go into my Junk folder which I then have to empty. I would prefer that I did not get the mails in the first place, hence my idea of removing various addrresses80.234.165.56 (talk) 17:07, 1 May 2017 (UTC)[reply]

Okay, so that's a slightly different issue. Generally speaking, once your email address is on a spam list, it will never be removed from it. By definition, the people running these things are scumbags. To make things worse, there's really no way to ensure your address doesn't end up on a spamlist either, since everyone you correspond with has your address as well. However, if you go with a web-based email such as Gmail, the deleted and spam mailboxes get emptied periodically (the messages stay for 30 days, IIRC). I'm sure other providers have similar functions. If you're using Outlook, I'm sure there's way to configure your message rules to automatically empty your spam mailbox at some regular interval (here's an option for emptying them every time you close the program). Matt Deres (talk) 20:19, 1 May 2017 (UTC)[reply]
Depending on the context, it may be possible to get rid of an address. If you send an email to the first address I ever had, it will bounce: my family had email through our ISP, and since we stopped subscribing to their services, our addresses got deleted. My college address also doesn't exist, since I've not been a student there in several years. In the same way, if any of your email addresses is somehow related to something for which you're paying, unsubscribing might lead to your address being deleted entirely, but that's a rather drastic step. Nyttend backup (talk) 16:05, 2 May 2017 (UTC)[reply]

Will you define Bash "low" or "high" by means of proximity to machine language?[edit]

Bash is a rich Computer language functioning both as a Command language and a Programming language. If we examine Bash in the context of a programming language, Will you define it as "low" or "high" by means of proximity to machine language? (like in the case when people say that C is closer to byte code than Javascript, at least in some contexts) but I would like to ask on Bash itself, how you define it and why, in that matter. Ben-Yeudith (talk) 08:11, 1 May 2017 (UTC)[reply]

  • High level. It exposes many features of the OS in a quite "close to the metal" manner (i.e. low-level), but it does hide the aspects of the processor and hardware platform. Not as high as more abstracted modern languages, but then "high level vs. low level" is such an old concept (half the history of computers) that it's just not a very useful distinction to make any more. Andy Dingley (talk) 09:09, 1 May 2017 (UTC)[reply]
  • Absolutely high level. Not that it matters very much, as Andy points out. The concept is rather old, as most high level languages expose some low-level functions, and low-level languages have almost no use these days. OS designers, such as Microsoft might have a use for them when a new chip architecture comes out, but once they've successfully written a compiler, that's pretty much it. Except for that, the only uses of low-level languages I'm aware of is basic integrated systems coding and bragging rights (the whole "real programmers write assembly!" thing). My favorite language (LISP) is one in which the distinction can be utterly meaningless. Or rather, "could be" as nobody makes them anymore. ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 14:16, 1 May 2017 (UTC)[reply]
The bash programming language does not permit access to memory pointers, memory-mapped I/O, or to hardware interrupts. The official documentation for bash says this about bash: "...like any high-level language, the shell provides variables, flow control constructs, quoting, and functions." Those are the criteria that the manual uses, and bash meets them! Other writers may use different criteria to distinguish "high-" and "low-" levels of programming language.
Contrast to The C Programming Language, in which the esteemed authors explicitly state: "C is a relatively 'low level' language." The language itself does not provide a model for threading, object management, persistent storage and file-I/O, and does not even provide for character strings. Such features are usually implemented by the C standard library or by your favorite vendor's variation on that theme.
Interestingly, these two sources differ on one point: is the provision of function-call semantics in a language a criteria of a high-level language? The authors of bash seem to believe that it is necessary, while the authors of the C book seem to believe that it is insufficient. A language that permits function-calling may be either high or low level, in a manner of definition that would be consistent with both books. This kind of silliness would lead me to agree with a few others who have chimed in: "high" and "low" levels are pretty useless attributes to ascribe to a programming language, because even if we agree about the definitions of those adjectives in this context, these adjectives are not helpfully informing our ability to do useful things with our computers.
Nimur (talk) 16:01, 1 May 2017 (UTC)[reply]
@Nimur: A language that permits function-calling may be either high or low level... This is a very good point. The fact that functions (and objects, and even aspects) can be implemented at all shows that there exists the functionality to do so, all the way down to the asm. In turn, that demonstrates that the difference between high- and low-level languages is an artificial one, not based on any fundamental properties of either. ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 16:58, 1 May 2017 (UTC)[reply]
I personally don't call languages "high" or "low" level. I say that Language A is higher level than Language B. It is a comparison term, not an absolute description. 209.149.113.5 (talk) 17:04, 1 May 2017 (UTC)[reply]
I think you're in pretty good company; few computer scientists make this distinction today. The references I cited were both written a long time ago - one of those books is circa 1978! - perhaps during an era when our conceptions about computer programming, operating systems, and "abstraction" in computer science, were all very different than our conceptions of the very same words today. I found the assertion about "high level languages" in the manual for bash-2.0, written earlier than 1997; but the phrase did not exist in any documentation I can find for bash-1.14. The interested reader(s) of computer history might dig deeper to figure out exactly what - if anything - was added to the bash language between 1996 and 1997 that made the doc writers decide that bash had finally reached that pinnacle of language development known as "high-level"...! My diff utility counted around four hundred changes in the Yacc grammar! Nimur (talk) 19:07, 1 May 2017 (UTC) [reply]
To be fair, recent textbooks still draw the distinction between high- and low-level languages. A programmer who gets a specialized degree, like an AAS (which is actually what I have) without getting a more generalized education in CS, and who lacks experience with programming closer to the metal (and there are entire industries who work exclusively in OOP languages) will likely remain under the impression that it's a strong and common distinction. ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 19:27, 1 May 2017 (UTC)[reply]
I'm not so sure that there's not an absolute for "low level". Assembly language is referred to as a low level language. Below that is machine code, literally the 0s and 1s that cause the processor to perform operations. There are still enthusiasts who write in machine code. Akld guy (talk) 20:31, 1 May 2017 (UTC)[reply]
As someone who writes assembly language programs for microcontrollers that typically cost around five cents, have 64 or perhaps 256 nybbles of RAM, and require you to buy 50,000 masked-ROM bare die parts just to see if your code works, I am constantly amazed at the fact that so many programmers and software engineers seem to think that neither I nor the products I make even exist. Yet they still use mice and keyboards, and their children still play with toys that blink and sing, never thinking about the programming that makes those devices work. --Guy Macon (talk) 20:51, 1 May 2017 (UTC)[reply]
Hmm, nobody has yet linked to abstraction? That's what's going on with this "close to the metal" or "proximity to machine language". We even have a whole article on Abstraction_(software_engineering). While it is indeed sensible to use the high/low level stuff relatively, it is also not crazy to think that (for a given audience) "high level language" still has plenty of meaning. Someone once told me "any time you aren't doing memory management by hand, that's high level". Never had a problem using that as a working definition. While Nimur and MjolnirPants et al. make good points above, I really doubt that in the real world you'll get in trouble by referring to Bash scripting as programming with a high level language. To quibble with such a casual characterization if it came up in the real world would seem WP:Pointy to me (it's fine of course here on the ref desk, because you specifically asked :) These high/low level distinctions absolutely inform my personal"ability to do useful things with our computers", as I am a scientist, and not a computer scientist, and I will (if I can help it) never ply my trade using a low level language that demands careful attention to by-hand memory management. I have at various times shopped around for the right programming language for a given job, but if I can't do it with a high level language, I either won't to it, or will hire someone who does like to muck around with pointers to do it for me. SemanticMantis (talk) 20:46, 1 May 2017 (UTC)[reply]
  • How about this (and wrt Guy's point; I've coded a few integrated systems in C, so while I'm not the Assembly Spartan he is, I certainly have an appreciation for that sort of thing). It's better to discuss languages in terms of Programming language generations. High- and low-levels are terms which are, as has been rightly pointed out, much better suited for comparisons than for categorizations. Generations, however, are easy because each generation can have high- and low-level languages in it, and it lets any language have high- and low-level elements to it.
And no-one has suggested that you'd "get in trouble" for referencing high- or low-level languages in the real world. I do it all the time, and I even do it in a way that I know is completely erroneous (I often refer to VBA as a higher-level language than VB.NET, because it requires an existing platform on which to work). Those of us who've pointed out that the distinction is unclear aren't, I believe, trying to "set someone straight" but rather trying to pass on information which we find interesting to someone who asked a question about it. Nobody's really disagreeing on any points of fact here. There's no need for an argument.
Wait, who am I kidding? WP is part of the internet. Argue away. ;P ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 21:15, 1 May 2017 (UTC)[reply]
Sorry, I didn't mean to argue; I was discussing and adding relevant reference. Providing links and responding to the conversation up to that point, addressing the fact that though there are problems with strict categorization, the terms are still used and understood in many contexts. I do wonder though: if generation is so clearly defined, what generation in Bash? Bash_(Unix_shell) seems silent on the issue, I can find no occurrence "generation" in that article. SemanticMantis (talk) 21:46, 1 May 2017 (UTC)[reply]
Third, because you can classify the generations by when they were created as well as by what features they have. I tend to see the generations as more hierarchical: In a certain sense, all languages are first generation languages, but some are also second, some of those are also third, some of those are also fourth and some of those are (or might be) fifth. Also notice that I began my first response with "Absolutely high level." so I'm aware that the distinction has some generalized uses. (Even the page I linked to defines third-generation and on as "high level") :D I wasn't trying to chide anyone for arguing, just joking around. I should have used my joke link but I wasn't sure exactly which phrase to put it on. ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 22:24, 1 May 2017 (UTC)[reply]
The point I tried to make above was that machine language is the absolute lowest level that one can code in. As I said, there are still enthusiasts who write code in it. I don't. I don't even want to think about loading the AL register with the letter "a" by typing 10110000 01100001. See Assembly language and scroll down to the "Assembly language" section for that example. Akld guy (talk) 23:01, 1 May 2017 (UTC)[reply]
Oh? Machine language is the absolute lowest level? How would you write machine-language for my E6B? It's a programmable computer and it can run algorithms ... but it's neither digital nor electronic! I propose that there are layers of abstraction that go deeper, or lower, or higher, or whatever, far beyond machine instruction mnemonics, and that if you take seriously the importance of computing in the phrase "computer science," you will have to expand your mind with a little bit more mathematics. Nimur (talk) 14:11, 2 May 2017 (UTC)[reply]
Absurd citation of a non-digital device. We're talking about digital computers here, not slide rules and abacuses (abacusi?). Akld guy (talk) 20:09, 2 May 2017 (UTC)[reply]
I went looking through some of my other favorite books to see how other authors classify "high" and "low" level. So far, I think my favorite summary-quote is Patt & Patel Introduction to Computing Systems, who write in their introduction that a high level language is one in which "the compiler protects the student from everything 'ugly'...." Patt and Patel is, by far, one of the absolute best introductory books on computer theory. If you don't have a copy, buy one or borrow one. It is an excellent book, on par with some of the greatest computer science books ever written, but aimed at an audience who has not yet spent years mastering the material.
When they say that abstraction hides the "ugly", that's pretty imprecise - and simultaneously, it's exactly what most people mean when they say "high-level"!
Nimur (talk) 22:56, 1 May 2017 (UTC)[reply]
Thanks, I like that Patt & Patel quote. It is a bit dependent on compilers though. In my (albeit narrow) experience, interpreted languages tend to skew towards higher levels of abstraction. Are there any interpreted languages that are also commonly considered low level? I note the intro to our article nicely explains that the interpreted/compiled distinction is itself problematic, but that's probably best left for a different question/day :) SemanticMantis (talk) 23:24, 1 May 2017 (UTC)[reply]
Sure - Java bytecode, GIMPL, llvm-ir, ...are all called low level by their own documentation. Nimur (talk) 00:18, 2 May 2017 (UTC)[reply]
I can't remember if I've mentioned LISP yet (in this thread), but LISP, too, depending on the machine. I can't post more than twice in a thread without mentioning LISP. I'm a fanboy. I admit it. ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 05:41, 2 May 2017 (UTC)[reply]
OK... but which reliable source calls Lisp a "low-level" language? Nimur (talk) 14:02, 2 May 2017 (UTC)[reply]
Well, we're not writing an article here, so I'm connecting the dots. On a LISP machine, it would have to be a low-level language, or else have lots of low-level features liike manual memory addressing. I actually own an old-but-still-barely-functional lisp machine, and I can attest to my (poor and sloppy) ability to do manual memory management with it. Speaking of which, if anyone knows a skilled person who restores 80's-era computers professionally; leave me a note on my talk page. My A+ cert might date back to the 90's, but I'm still lost inside my old dinosaur. ᛗᛁᛟᛚᚾᛁᚱPants Tell me all about it. 14:18, 2 May 2017 (UTC)[reply]

Samsung ZVII[edit]

What is the easiest way to sync MS Outlook's Calender, Contacts, Tasks, Notes with it, so that I could data transfer back and forth...via wire and wireless? If not, refer me software(s) for this Android capable of sync (separately or individually, or all together) without internet usage facility. Regards. 43.245.122.197 (talk) 12:55, 1 May 2017 (UTC)[reply]

Wikipedia has no article for the "Samsung ZVII". It sound like a name representing that it's model number 100,007. Georgia guy (talk) 13:03, 1 May 2017 (UTC)[reply]
There is a Symphony Xplorer ZVII (http://tech99news.com/symphony-xplorer-zvii-detail-price-bd/) - is that what is being asked about? Wymspen (talk) 19:45, 2 May 2017 (UTC)[reply]

VLC.apk[edit]

I've been researching for the software, plenty are available, which one could you refer me to? 43.245.121.228 (talk) 12:56, 1 May 2017 (UTC)[reply]

Our article is at VLC media player, and the official home page is at https://www.videolan.org/. I would suggest to stick with the official site. --Stephan Schulz (talk) 13:05, 1 May 2017 (UTC)[reply]
The problem being that the VLC site does not have an obvious APK link. Just a link to the app store.
But it's there in the fine print. Here are the android APKs
The next problem is that it's written in native code, so there's different versions for different CPUs. You'll need to know which CPU your device has. It's probably one of the ARM CPUs, so if you don't know which to try, try the ARM one first.
(If you have access to the Google Play Store, you should get it from there. Not only will it automatically install the correct one, it will keep it up to date.)
ApLundell (talk) 18:26, 1 May 2017 (UTC)[reply]
(I've edited my post above because I forgot to actually include the link that answers the question!)ApLundell (talk) 20:58, 1 May 2017 (UTC)[reply]

Security.apk file for android[edit]

I require a .apk file which disallows other users entering into Micro SD without a password, even after they remove the SD and insert it in another phone or a computer. Could someone help me please? 43.245.120.91 (talk) 12:56, 1 May 2017 (UTC)[reply]

My last three Android phones had SD encryption built in. My current phone has it under Settings: Lock Screen and Security: Encrypt SD Card. 209.149.113.5 (talk) 16:08, 1 May 2017 (UTC)[reply]