Wikipedia:Reference desk/Archives/Computing/2016 September 4

From Wikipedia, the free encyclopedia
Computing desk
< September 3 << Aug | September | Oct >> September 5 >
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.


September 4[edit]

Commercial General Midi SF2 Soundfont[edit]

This question gets close to legal advice, but at no point am I actually seeking any such advice, just direction to a product. I need a general midi soundfont that I can use to record midi music with and, then, use that music in a commercial product. So, what I am looking for is a source where I can purchase a soundfont, in the form of an sf2, from an actual legitimate company (not a random person, not one that is free, etc.). I am not asking anyone to verify any of the licensing, I am only looking for a commercial vendor (I can, then, talk to them, etc.). The reason I'm being so specific in this question is that I cannot, after a lot of searching, find any such vendors, all I can find are fonts put together by people with no clear sourcing, sites that don't exist for closed vendors, and other such -- and one site offering individual instrument fonts, which isn't what I need. Thank you for any help:-)73.174.196.36 (talk) 00:07, 4 September 2016 (UTC)[reply]

WP:IANAL applies here, but @73.174.196.36:, have you read the information available at SoundFont? It mentions free .sf2 creation software, including giving links. After this, then the midi work you make using this software would be yours to license as you wish. More information available at Copyright. RegistryKey(RegEdit) 03:43, 4 September 2016 (UTC)[reply]
The legal part is background on why I'm looking for this. I am not, in any manner expecting, nor desiring, input on the legal part. Essentially, I need a source to purchase an sf2 from a company that owns the file -- this is not different than asking, "I want a digital copy of the movie Willow, every time I Google it, all I can find are links to illegal downloads, can anyone provide me a source where I can buy this movie?". So, again, the legal matters give a context for what I am doing, they are not what I am asking about, nor seeking help with. --As for creating my own, I need something that is high quality, I don't have the means to produce high quality samples, I do have the means to buy them.05:11, 4 September 2016 (UTC) — Preceding unsigned comment added by 73.174.196.36 (talk)
A Google search on "commercial soundfont" will come up with lots of vendors. Digital Sound Factory is linked from our article, but this should not be considered an endorsement. Tevildo (talk) 08:36, 4 September 2016 (UTC)[reply]

Emails on iPhone[edit]

Does anyone know if there's a setting that automatically deletes from an iPhone - from the device only, NOT syncing the deletion to other devices - emails more than (say) 30 days old?

I seem to remember this being a fairly prominent option when I first owned an iPhone, and I definitely remember Blackberries used to do it, but cannot find it or anything similar on my iPhone now. AndyJones (talk) 08:25, 4 September 2016 (UTC)[reply]

@AndyJones: Hi Andy. This used to be an option you could tweak, but it seems to have disappeared somewhere around the iOS 7 timeframe judging by various irate customer posts on the Apple support forums. You can still control this on ActiveSync-based accounts (those set up as "Microsoft Exchange" type), but not for iCloud email. Generally speaking, email itself takes up very little disk space (and iOS automatically manages it for you), so if that is your concern you might be better off looking for large attachments (or many attachments that just add up) and remove those from your mailbox altogether (if that's an option in your case). Incidentally: yes, buying that 16GB iPhone model was a mistake (and Apple really shouldn't have been selling it). If it's at all an option for you I would actually recommend eating the cost and getting a 128GB model so you can stop worrying about disk space for anything short of photos and video. The current 32GB starting capacity is at least defensible to sell, but all but the lightest users will eventually run into disk space problems with it (don't get me started on the iCloud storage tiers!).
PS. Yes, I am wikistalking you! :) Glad to see you edit, and hope you'll eventually work up an appetite for some mainspace work in the old stomping grounds again. Cheers, Xover (talk) 18:27, 9 September 2016 (UTC)[reply]

Unable to delete folder - Windows 10[edit]

Is there any way I can discover the dependancies on a folder that cannot be deleted because it is being used elsewhere? There's one folder in program files that I want rid of, this was associated formally with Adobe but I have deleted all the associated software. Yet this empty folder sits there, any apparently cannot be deleted because it is opened elsewhere. What gives? — Preceding unsigned comment added by 78.208.132.54 (talk) 11:46, 4 September 2016 (UTC)[reply]

I've used this http://www.nirsoft.net/utils/opened_files_view.html to find open files in Windows, but the last time I tried it on W10 it didn't seem very reliable. Just like you I was trying to delete a folder which the system insisted was open, but the tool didn't identify what was holding it open. In the end, I booted off a Knoppix disk and deleted the rogue folder that way. --TrogWoolley (talk) 15:32, 4 September 2016 (UTC)[reply]
Sysinternals also lets you see this information, and even schedule moves and deletes for the next shutdown/reboot. --47.138.165.200 (talk) 21:24, 4 September 2016 (UTC)[reply]

Java Won't Open[edit]

Two of my Wikipedia-related Java programs aren't opening (STiki and WPCleaner). When I try to open them, I can see the icon in the taskbar and when I hover on the icon in the taskbar it shows the screen, but when I click on it or try to open it using task manager it doesn't open. I don't have any other Java programs, so I can't test if it's specific. What should I do? Dat GuyTalkContribs 14:11, 4 September 2016 (UTC)[reply]

You can try to update JRE. Ruslik_Zero 20:47, 4 September 2016 (UTC)[reply]
@Ruslik0: Java -version in command prompt brings up java version "1.8.0_101." In the Java console I also have no errors, but it simply doesn't show up. Dat GuyTalkContribs 05:45, 5 September 2016 (UTC)[reply]
Have you tried to launch them form the command prompt to see if there are any error messages? Ruslik_Zero 20:30, 5 September 2016 (UTC)[reply]
@DatGuy: Try the advice here. -- zzuuzz (talk) 13:44, 6 September 2016 (UTC)[reply]
@Zzuuzz: Oh my Jesus on a stick driving a car that fixed it! Thank you! Ruslik, your suggestion might've also helped but I did zzuuzz's first. Cheers, Dat GuyTalkContribs 14:09, 6 September 2016 (UTC)[reply]

Discover language of compiled program[edit]

Once compiled, how can someone discover in what language a program was written? Would you need to decompile it into different languages until something reasonable appears? Is it possible to decompile a program into more than one programming language?Llaanngg (talk) 22:10, 4 September 2016 (UTC)[reply]

Decompilation is, at best, a very unreliable and failure-prone process. At least in theory, different source programs in different languages can compile to exactly the same binary. In practice, this is not unlikely to happen if a compiler family uses the same backend with different front ends. And then there are languages like C and C++, where many programs are correct in both languages. Your best bet might be to look at runtime library components linked into the program. --Stephan Schulz (talk) 22:28, 4 September 2016 (UTC)[reply]
You could use strings and grep to scan the executable file for library names and copyright messages etc. which will tell you the compiler used. Something like:
strings filename | grep -i copyr
strings filename | grep -i lib
Martin. 93.95.251.162 (talk) 14:14, 6 September 2016 (UTC)[reply]
More precisely stated, some toolchains will emplace metadata in the executable that specify information about the source code, the compiler, and so on. This is not universally true: some toolchains are very adept at stripping extraneous information from the executable file. Nimur (talk) 17:34, 6 September 2016 (UTC)[reply]
Compiling high-level language into machine-code is a form of translation. A correctly-implemented compiler will produce machine-code whose results are guaranteed equivalent to the source-code statements. There are an arbitrarily-large number of possible source code statements, expressible in an arbitrarily-large set of possible languages, that all share this equivalence. So in general, it is not possible to determine which of the many possible source-code statements (in any language) were compiled to emit a specific machine code sequence.
Sometimes, a skilled expert who is intimately familiar with a specific compiler - and every part of its translation stages - might be able to recognize patterns or paradigms. This isn't easy - it usually requires extreme familiarity with the theory and practice of your compiler. It also inherently makes lots of assumptions about the executable.
For example, documentation exists in llvm at utils/TableGen/DisassemblerEmitter.cpp and lib/Target/X86/Disassembler/X86Disassembler.h (for x86 only). If you aren't already the kind of person who keeps source-code for your compiler, and compiles your compiler from source-code, you ... are not going to want to proceed further down that road).
Here's a pretty poster on Fracture: an inverter for llvm's target-independent code: Fracture, a research project sponsored by the Air Force Research Lab. Evidently the Department of Defense is funding projects to reverse-engineer the compiler - and I can't really blame them: engineering and reverse-engineering today's software is often a matter of national security!
For more rumination on the topic, here's a famous speech by Ken Thompson (one of the key figures who invented the C programming language, and a world-reknowned expert on compiler theory): Reflections on Trusting Trust. This speech, and the sample code it presents, explain why there is a ambiguity in any attempt to understand and disambiguate the semantics of a programming-language statement - whether that statement is expressed in the C language, in a different high-level-language, or even if that statement is expressed in binary in the form of machine-specific code. Unless you know everything about the machine that does the translation, you can't be certain of the effects (and side-effects) of any expression. Understanding this concept will profoundly affect the way that you understand compiling- and decompiling- (or more generally, "translating") software program code.
Nimur (talk) 17:34, 6 September 2016 (UTC)[reply]