Wikipedia:Reference desk/Archives/Computing/2010 November 9

From Wikipedia, the free encyclopedia
Computing desk
< November 8 << Oct | November | Dec >> November 10 >
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.


November 9[edit]

Using two different bibliographystyles in one document (solved)[edit]

I am writing a book-sized document in TeX, for which I'd like to include a bibliography for each chapter (numbered, and in order of appearance), and one at the end for the book as a whole. The one at the end should be ordered alphabetically by the first author's last name. I can get either of these individually, by using either "plain" or "unsrt" as the bibliographystyle and with the help of the "chapterbib" package. But I can not get the final bibliography to use a different style than the chapter bibliography. Any suggestions? mislih 01:07, 9 November 2010 (UTC)[reply]

The answer is in the documentation if anyone cares. mislih 15:30, 9 November 2010 (UTC)[reply]

Format specifier: %d %n[edit]

Hi,

Can anyone give me an example of when / how you would use the format specifiers "%d %n"?

Thanks —Preceding unsigned comment added by Legolas52 (talkcontribs) 04:34, 9 November 2010 (UTC)[reply]

sscanf(str, "...%n", ..., &pos) tells you the position in the string at which sscanf stopped reading, which is useful if you want to parse a string with a combination of sscanf and your own custom code. Does that help? -- BenRG (talk) 05:01, 9 November 2010 (UTC)[reply]

facebook[edit]

is there a way to view private facebook pics if the person hasn't added you. —Preceding unsigned comment added by Kj650 (talkcontribs) 05:52, 9 November 2010 (UTC)[reply]

I don't think so...the clue is in the name ;) Chevymontecarlo - alt 07:34, 9 November 2010 (UTC)[reply]
(Warning: The following answer is accurate, but filled with extreme loathing about Facebook's absolute disdain for user security.) Download firesheep. Get your computer on the same local network as one of the person's friends (which is very easy to do if you are in a school where everyone is on the same network). Run firesheep. Select one of the person's friend accounts (or the person's account to make it easier). Presto - you are logged in as that user. Do whatever you like. Get caught. Go to jail. This will work easily until some day in the very distant future when either Facebook no longer exists or the Facebook programmers decide that security is of enough importance to go through the strenuous process of pressing Ctrl-R and replacing http: with https:. -- kainaw 13:57, 9 November 2010 (UTC)[reply]
In case it's not obvious, actually following Kainaw's advice here could send you to prison. APL (talk) 15:23, 9 November 2010 (UTC)[reply]
Thanks - added the last two steps. -- kainaw 15:37, 9 November 2010 (UTC)[reply]
Also, Facebook's content distribution network (the technical portion of their servers that handles offloading to 3rd-party web hosts) does not enforce login-authentication. So, if somebody has access to the image and sends you a URL to the actual file (not the image information page - a link to the JPG), there is no additional permissions-enforcement. This is a form of security through obscurity - all the private files are given alphanumeric filenames that are difficult to guess - but there is no real protection if you try to access them without permission. As Kainaw has pointed out, fixing this "feature" would be technically trivial for a skilled web architect - but I have my doubts that Facebook (as a business-organization) is willing or capable to fix their glaring security holes. Now that they have scaled to immense size, it will be more difficult to make technical changes to their architecture. Call this a "self-selection" process - skilled computer-system designers who are respectfully concerned about their users' privacy do not found companies like Facebook. Nimur (talk) 16:38, 9 November 2010 (UTC)[reply]
If I am reading these responses correctly, it appears that anyone with the Firesheep program can pull up to my unprotected wifi, and access my accounts from, say, a car in the street, even though every account is password protected and I have Sophos. If this is true, how do I protect against such things happening? Bielle (talk) 19:01, 9 November 2010 (UTC)[reply]
There are two parts to this solution: (1) always use HTTPS. And, (2) do not use websites that refuse to provide HTTPS. Do not subscribe to services and websites that refuse to use industry-standard protection. Use alternative services, provided by responsible organizations who take the necessary measures to protect your privacy. Wikipedia provides an HTTPS server; gmail and google provide HTTPS-secured Google, and so forth. The technical solution can only go so far: this particular security flaw ultimately boils down to a simple statement of fact. You can not trust Facebook to protect your data. Facebook is currently not a reliable organization to trust - because they refuse to protect your sessions with standard secure techniques - so there is no safe way to use their website. For this reason, until they fix their flawed system, avoid using it, or accept the risk of session-hijacking. Nimur (talk) 19:14, 9 November 2010 (UTC)[reply]
The big problem with Facebook is that even if you login with HTTPS, most of the content switches to HTTP as soon as you click a link. The solution is to install Greasemonkey and write a script to convert all http links to https links. But, Facebook uses iframes with different URLs that are not visible from the main page. So, you have to write more scripts for more sub-content. Then, you visit some other site with HTTP and it automatically authenticates against Facebook through http without your permission. What Facebook needs is a security setting of "Require SSL". Once click by the user and you know you are secure. The problem is that people fall into four basic groups. There is a very small group that refuses to use Facebook because it is insecure. Ignore them. There is a large group that understand Facebook is insecure, but don't want to stop using it. There is a larger group that have heard something about security but don't care about that technical stuff and keep using Facebook. There is an even larger group that have never heard anything about Facebook security and have no reason to stop using Facebook. With those groups, there is absolutely no reason for Facebook to fix the problem. -- kainaw 01:07, 10 November 2010 (UTC)[reply]
When I'm on a public WiFi network, I always set up an SSH tunnel to some machine where I have an SSH account. (Enable "dynamic" port forwarding from port 1234 in your SSH program, then configure your browser to use a SOCKS proxy at localhost:1234.) Then I'm safe wherever I connect, even if it uses plain HTTP. Technically this is slightly less safe than HTTPS, since your data is only encrypted from your computer to the shell account, rather than all the way to Facebook, Inc., but realistically the public WiFi network is by far the most vulnerable part of the connection, and an SSH tunnel protects against that. My current ISP gives SSH accounts to customers that call them and ask, though I don't know if that's standard practice these days. You can probably get one through your school if you're a student. -- BenRG (talk) 08:39, 10 November 2010 (UTC)[reply]
To be fair to Facebook, establishing an HTTPS (SSL) connection requires a noticeable amount of CPU time. That could be a substantial extra cost for a company that serves as many people as Facebook does, and it's not like they can raise their monthly fee to cover it. Also, SSL has moral problems. Server certificates have to be signed by some member of the cabal of trusted (but probably not very trustworthy) certificate authorities, who charge high fees for a service that costs them almost nothing, and SSL servers have to have their own IP address, which depletes a limited resource. Facebook can easily afford those things; I'm just pointing out that SSL isn't all puppies and roses. -- BenRG (talk) 08:39, 10 November 2010 (UTC)[reply]

Mp3/other audio -> midi?[edit]

Is there any free software to convert audio to midi format? 137.81.118.126 (talk) 06:27, 9 November 2010 (UTC)[reply]

This is not trivial, since midi is a format used to store descriptions of the sound being played, rather than it being a recording. Some information here: [1]. --Phil Holmes (talk) 09:50, 9 November 2010 (UTC)[reply]

I understand the difference between audio and midi. There ARE programs out there that convert! (Google "Intelliscore Ensemble 8") What i am asking is if there is a free or open source program which does this, not if it can be done. 137.81.118.126 (talk) 20:03, 9 November 2010 (UTC)[reply]

Perhaps you could have favoured us with that information with your original query? It would have saved me telling you what you say you already knew. --Phil Holmes (talk) 21:11, 9 November 2010 (UTC)[reply]
Since the OP specifically asks for "free software" it's a fair assumption they are already aware of proprietary software which does what they want. 82.44.55.25 (talk) 23:02, 9 November 2010 (UTC)[reply]
My reply gave information pointing out that converting MP3 to Midi is hard. The OP then posted to say that they knew this. My point was that they could have saved problems for responders if they gave some information on the state of their knowledge with the original post. Nothing to do with free or not. --Phil Holmes (talk) 15:20, 10 November 2010 (UTC)[reply]
There is no software, free or paid, that will convert general music files of any normal play format to MIDI because MIDI is a list of instructions for generating sounds. Artificial intelligence (or even most human ears) cannot write a score from a mixture of instruments, though developments are continuing, and some software makes a reasonable attempt to create a score from the recorded sound of a single instrument. Before creating a midi file, the software has to write a music score from what it "hears". This is not easy. If you find some free software, I would be delighted to try it out, but I don't expect it to work well, and it will not work at all for most complex sounds. The problem is similar to converting a conversation to text. It might be possible if one person speaks at a time, but will not work at all at a party! Dbfirs 20:18, 9 November 2010 (UTC)[reply]
I'll try to provide a bit of formal mathematical explanation why this problem is not solved (and therefore, no easy-to-use software yet exists). When an instrument plays a single note, the actual waveform is not quite deterministic. The timbre and pitch vary from performance to performance; but to some extent, we can consider an "ideal" instrument, with "known timbre"; and an "ideal" tuning, where note-pitches exactly match specified frequencies. We also have the recording characteristics - the reverb, echo, and so on, are highly nonlinear - they depend on the microphone type, the room, even how the musician held the instrument. But we can construct linearized models for all of these details. So, any individual note can be decomposed into an idealized model: a pitch, intensity, a duration (described as an ADSR envelope), and a characteristic eigen-note (the "model note" that defines the timbre for a given instrument). These model parameters theoretically specify the waveform in its entirety. Synthesizers work this way: they take a MIDI-representation of that model space (say, 5 or 10 parameters that describe a particular note), and produce a modeled waveform that sounds like it was played by a true instrument. Modern synthesizers use sophisticated models and high-resolution eigen-notes - reproducing synthetic sounds with amazing fidelity. However, the inverse problem - that is, observing a particular recorded waveform and inverting for the model parameters - is a very sophisticated and difficult process. There is much ambiguity in the null-space of the model. The exact eigen-waveforms depend on individual performance, instrument imperfections, and recording setup. True effects of recording, like echo and reverb, are non-linear and do not cleanly obey superposition principles. This means that an ensemble of music - that is, many notes played at once, is not a simple linear superposition of notes that can be separated: it is currently computationally infeasible to invert for a musical score from a recorded waveform. This is an active area of research; the problem is as-yet unsolved. If you are very technically inclined, you might make use of some existing research platforms. Midi-extraction, query by humming, and other musical "fingerprinting" technology all seek to extract reproducible parameters from musical waveforms. The CCRMA research group provides a lot of its CCRMA research software - which is mostly) open-source. They provide tools like Mi_D, CommonMusic, and the STK+ signal processing toolkit, but none of these tools are yet able to open a music-recording and produce a midi file. Nimur (talk) 20:38, 9 November 2010 (UTC)[reply]

iPad download problems[edit]

I'm a Microsoft user since the dark days of DOS, but the iPad got me to try The Other Guys. I wasn't too pleased to have to open an on-line account just to be able to use the apps already on it, but that's the way Mr Jobs wants it. So be it. My problem is that while I've had success loading some apps and music, there is one game (Civilization iPad version) that has been successfully loaded into my PC but won't load onto the iPad. Nothing here that wasn't bought from the proper sources and in the proper way, and I can see it on my computer. Any ideas what I'm doing wrong? DOR (HK) (talk) 06:52, 9 November 2010 (UTC)[reply]

Under iTunes, check whether the game has been ticked to sync with the computer. (Like from where you see your iPad) General Rommel (talk) 07:29, 9 November 2010 (UTC)[reply]
Also, there is the off-chance that you ran out of memory on the iPad, especially if you also store movies or automatically sync a large music library. --Stephan Schulz (talk) 10:04, 9 November 2010 (UTC)[reply]
No, that wouldn't be the case as I loaded up on 64 gigs and have very little on their now. I'll try Gen'l Rommel's suggestion. DOR (HK) (talk) 09:41, 11 November 2010 (UTC)[reply]
Thanks, General Rommel, your suggestion worked. DOR (HK) (talk) 03:06, 14 November 2010 (UTC)[reply]

A low cost / free alternative to Adobe Illustrator for the Mac[edit]

Hi there,

Can anyone suggest a low cost, or free, alternative to Adobe Illustrator for the Mac? It doesn't need to be as powerful, as it will be primarily used for creating relatively simple flyers and vector (text, mainly) illustrations for my website, so I can't really justify the £400.00 or so that AI costs. Thanks. Bobby P Chambers (talk) 11:44, 9 November 2010 (UTC)[reply]

Inkscape -- Finlay McWalterTalk 12:15, 9 November 2010 (UTC)[reply]
For some people, Dia is easier to use than Inkscape. It is free and exports svg format. I find it does a poor job of svg export for complicated diagrams, but does just fine for mostly text. -- kainaw 15:36, 9 November 2010 (UTC)[reply]
There's also OpenOffice. Two tools, Impress and Draw, might be helpful for creating posters. Nimur (talk) 16:30, 9 November 2010 (UTC)[reply]
What about buying an older version of Illustrator? Judging from what you wrote above, I'd be surprised if you really needed whatever features have been added to Illustrator in the last few years. I just jumped over to eBay and searched for adobe illustrator 10 and saw that there was one copy on sale for US$99 and another for US$139. (Whatever version you settle on, be sure the older Illustrator version will work with your system version.) Comet Tuttle (talk) 18:45, 9 November 2010 (UTC)[reply]
Out of the above, I've found only Inkscape to be really similar to Illustrator in terms of capabilities, but even then, it is somewhat lacking in various major ways. It's mostly workable, though. Its interface is not very good, and like many open source programs, there are not many inspired revisions, just incremental additions to things you probably won't be using much anyway (e.g. endless additions to filters). --Mr.98 (talk) 23:44, 9 November 2010 (UTC)[reply]
I found an old Coreldraw 9 a cpl years ago for £15 on ebay - there are some there now, Corel X4 for $33.80 (thats the last version as we are on X5 at the moment) - Illustrator 10 starts around $100 though :¬( Chaosdruid (talk) 02:33, 10 November 2010 (UTC)[reply]

THank you for all the suggestions - I've tried Inkscape, but am somewhat put off by its interface, to be honest. Think I'm going to end up tracking down an older version of Illustrator, as that's probably the best compromise. Bobby P Chambers (talk) 21:01, 10 November 2010 (UTC)[reply]

Stop websites from knowing my Facebook account and my friends[edit]

I thought I had my Facebook privacy settings turned up high, but still when I go to certain websites, like The Onion, I see a sidebar saying "{Friend 1} has just liked article X!" "{Friend 2} has shared article Y" etc. How do I prevent websites from knowing who I am and who my FB friends are?

I went to my privacy settings, and the main page has every single option set to "Friends Only." Then under Privacy Settings > Applications Games and Websites, "Applications you use" has only one application, a photo uploader, and "Instant personalization" is OFF.

Any thoughts? Blargh! — Sam 63.138.152.135 (talk) 18:46, 9 November 2010 (UTC)[reply]

Completely log out of Facebook and clear your browser history, cookies, and saved settings. Then visit the third-party affiliate websites. Nimur (talk) 19:03, 9 November 2010 (UTC)[reply]
I believe that, when you see things like this, the website is embedding a Facebook IFRAME, so it's actually a direct communication between you and Facebook; The Onion (say) doesn't know anything about it, and shouldn't even be able to tell if you have a Facebook account. But it occurs to me that things like this may erode user expectations of privacy, which would make it a bad thing. It's not just enough to not leak information; they should make it clear whether or not they are doing so. Paul (Stansifer) 20:58, 9 November 2010 (UTC)[reply]
That's definitely a possibility. It is also possible that the third-party affiliate does know that you are logged in to Facebook. This is entirely a detail of whether the content and authentication occurs on the client-side (via an iframe, directly connected to Facebook), or on the server-side, using some kind of connected API that shares login-credentials between Facebook servers and the affiliate servers. If you send us a specific website in question, we can analyze which mechanism is more likely to be implemented; it is never possible to rule out server-side data sharing - but we can tell you whether it would be necessary for a specific site based on the way the content is delivered. Nimur (talk) 21:04, 9 November 2010 (UTC)[reply]
If you are using Firefox, Chrome, or Safari, you can install an add-on called Facebook Blocker which prevents all of that inter-connectedness. Don't go to the "facebookblocker.com" site, I'm not sure what that is, and there's no reason to pay anything when there's a free add-on available. --LarryMac | Talk 12:56, 10 November 2010 (UTC)[reply]

how does server colocation work? Can I do what I want below?[edit]

So, I know all about "Virtual Dedicated" servers (Virtual Private, i.e. VPS) which I have extensive experience with. Now I want to move my applications up to the "next level". I don't want to pay a monthly charge to RENT HARDWARE. I want to buy whatever beefy hardware I can find at the best price-to-performance ratio meeting my requirements. I could easily do this if the result was me running it from my basement. But the question is, can I do the same thing (buy a server myself) and then pay someone just to keep it on their location and connected to their network connection?. It seems, at first glance, that all of the "beefy" dedicated servers are like, renting me the hardware -- at like $500/month! I don't want that. I want to ship them the server, be charged whatever, $1000 for their time to put it in their racks, and then be charged the monthly fee based on electricity and network usage, and maybe once a year for someone-to-walk-by-and-press-the-physical-reset-button. I don't really care about the location in the world, anywhere in North America or Europe is okay. Can I do what I'm imagining, and what is hte most economical way of doing so? Thank you!! 84.153.247.200 (talk) 18:47, 9 November 2010 (UTC)[reply]

Which data center do you want to be co-located with? If you have a specific data-center in mind, contact the system administrator or the technical director for that organization. If you just want any data-center that has network connectivity... well, have you considered contacting an internet service provider? They will gladly share a network connection with you for reasonable market-rates. (I think you are implicitly assuming that you can just "ask" to be an internet peer. The sad but true answer is, you can't. You don't have enough money, you don't have enough computers, and nobody who has to ask if they are a Tier 1 network is a Tier 1 network. You will have to purchase your connection to the internet from a market provider). You can place a server anywhere you like, and if you purchase an internet connection, your computer(s) will be globally accessible. If you want a fast connection, the next (not-so-obvious) question is: "between which two locations do you want to have a fast connection?" If your answer to that is "between my server and everywhere," you're sort of out of luck. Nimur (talk) 18:57, 9 November 2010 (UTC)[reply]
What you are imagining is very possible and fairly common. Without advocating any particular names, there are a variety of hosting companies that emphasize their colocation services. Have you tried to Google "server colocation"? Typically prices start around $100 / month for a mid-level internet connection and power, and scale upwards depending on need and services. Typically, they expect your computer to fit in 1 or 2 rack units (which tells you the kind of computer you'd want to buy), though some companies only offer colocation for a full rack at a time. You should expect the company to provide little to no support beyond the basic physical installation and IP assignments. Dragons flight (talk) 19:36, 9 November 2010 (UTC)[reply]
(edit conflict)What you describe is simply a colocation centre. What they do is rent you rackspace and provide power, connectivity, security, fire-protection, and HVAC. A typical colo customer installs their own equipment. Some clicking around for an example gets me to Zen Internet (about whom I know nothing much, so this isn't a recommendation at all). This page shows their rental scheme for colo space; this page shows the services they offer, one of which is "Hardware Installation Service", which is their fees for installing it. They don't quote a price for that - it's surely an hourly rate plus any materiel. I'd imagine most colos will do this; if you find one that doesn't they'll surely be able to recommend a local IT supplier they work with who will. It's very common for people in your position to also install an internet-controllable power switch and (if appropriate) a serial-console-to-IP bridge box, so you can powercycle servers and do BIOS/OBP/EFI stuff without their help. Many (surely most) places have 24 hour cover for a bloke to go down to your rack to do stuff manually (reseat a cable or toggle power); the adequacy of that bloke's training, and how many machines he has to tend to in an emergency, is a matter for your service level agreement with the colo. Larger colo customers rent their own lockable cage (so some other customer, or a panicky colo employee) can't readily mess with your stuff. In that case you need to have your own local folks who can go down, unlock the cage, and do stuff. Open or caged, you're generally taking on responsibility for knowing when something needs whacking (which probably lies with your hosting provider now) meaning you'll end up adding internal and probably external monitoring services (that text you when things aren't working okay); some people have a cellphone cabled in there too, which is used to send a text out to you if the power fails or the network connectivity goes entirely. -- Finlay McWalterTalk 19:37, 9 November 2010 (UTC)[reply]
Have you considered how much you'd have to pay for support? even occasional problems would mean a delay if you don't have local support. Far better I think just to use someone's standard hardware and support and have them check for disks starting to fail or replace a card if anything goes wrong, and watch out for attacks and do the occasional upgrade. That's what you should really pay for, not the piece of hardware. Dmcq (talk) 14:35, 10 November 2010 (UTC)[reply]
I'm aware this may not be a very useful suggestion, but why not just get a Short-Rack and house your server(s) yourself in your own house? A single short-rack provides you with a full 24 units of rackspace, and takes up just 7 square feet of space. Adding a UPS takes care of the power, adding a few Fan-Trays takes cares of HVAC, and the rack itself (being lockable) provides security. If you need a rack which is fireproof, consider this short-rack from Pelican. If your house is too arid (or too humid), get a (de)humidifier. Rocketshiporion 21:23, 10 November 2010 (UTC)[reply]