Jump to content

英文维基 | 中文维基 | 日文维基 | 草榴社区

Wikipedia:Reference desk/Archives/Computing/2012 January 20

From Wikipedia, the free encyclopedia
Computing desk
< January 19 << Dec | January | Feb >> January 21 >
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.


January 20

[edit]

What is filling up my Harddrive? (After installing Windows7Ultimate from DVD)

[edit]
Resolved

There are 45.4 GB Used disk space on my harddrive (C:\) (A rather small SSD), but Windows 7 Ultimate 64bit SP1 should require only about 20 GB disk space (according to the "System requirements" stated on the DVD box).

I made a plain install (not upgrade) on my C: which formerly held Windows 7 Home edition.

The old system files totalling 45.9 GB got moved into C:\Windows.old (which I have deleted/moved to another disk).
Thereafter I did:
1. Update Internet Explorer (From 8 to 9)
2. Install one additional display language
3. Performe Windows update (about 55 "important updates").
I have not yet installed anything else, yet this all takes up 45.4 GB! ;-(
Now I wonder: What is filling up my Harddrive? Could you please enlighten me?
--178.232.56.73 (talk) 04:22, 20 January 2012 (UTC) I[reply]

Download WinDirStat. Von Restorff (talk) 04:23, 20 January 2012 (UTC)[reply]
Sometimes restore points can eat up a lot of space. From a command/DOS window you can run "vssadmin list shadowstorage" to see how much it is using. RudolfRed (talk) 04:51, 20 January 2012 (UTC)[reply]
I recently had the same problem with my SSD. I found that Hiberfil.sys and Pagefile.sys can take up quite a lot of room - although this may not be the case if this is a brand new, unused install. The Windows update files which are downloaded when performing updates can also take up space; these can sometimes (but not always) be safely deleted. If you deleted files from Windows.old, you may need to empty the recycle bin. You could also try running the disk cleanup facility. --Kateshortforbob talk 09:46, 20 January 2012 (UTC)[reply]
By default the pagefile and hibernation file should take up a fixed amount of space and rarely increase. Specifically, the page file would normally take up 1.5 x the amount of RAM (I presume it's the same for SSDs), this can usually increase if ever needed but will reset every reboot (although the normal and max size can be adjusted by the user). The hibernation file takes up about the amount of RAM and should never increase or decrease unless removed (or the RAM changes obviously). The OP didn't specify the amount of RAM. But if they have 8GB, which isn't uncommon nowdays, this would suggestabout 20GB for the hibernation + page file. Nil Einne (talk) 15:13, 20 January 2012 (UTC)[reply]
I have 16GB RAM so that explained a lot. The restore points took quite a bit of space too. And WinDirStat surely is a nice app!
Your answers was very helpful to me! Thank you all!
-- (OP) 46.15.236.43 (talk) 11:48, 23 January 2012 (UTC)[reply]

another networking problem

[edit]

I gave up on trying to fix my networking problem, for the time being, at least. But I got an old computer from my father to hook into my home network. My main computer runs Windows 7 and the one I just got runs Vista. I went through the networking stuff, telling it to share, detect network, no password, gave everyone permission do do anything. The computer shows up on the network. If I click on it, it shows the C drive, the external drive, and "public". All of them say "share".

  • If I click on Public, it works.
  • If I click on the external drive, it shows folders, but if I try to go into a folder, it says that Windows can't access it.
  • If I click on the C drive, it says that Windows can't access it.

I need to be able to get to these drives normally. I feel that it is almost working, but I can't see why it isn't quite working. Any ideas? Bubba73 You talkin' to me? 15:19, 20 January 2012 (UTC)[reply]

It is a little vague so I am having trouble following. From "gave everyone permission do do anything" I assume you mean you set permissions for the folder you want to share to "full control" in group "everyone"? 82.45.62.107 (talk) 00:17, 21 January 2012 (UTC)[reply]
Right. In Permissions, I checked all three boxes for "everyone". Bubba73 You talkin' to me? 00:18, 21 January 2012 (UTC)[reply]
Hmm, that should be working. What is the exact error message you're getting when you try to access one of the shared folders? 82.45.62.107 (talk) 00:31, 21 January 2012 (UTC)[reply]

For the C drive:

Windows cannot access \\computername\c.

You do not have permission to access \\computername\c. Contact your network administrator to request access.

And then I can get down one level on the external drive, but then it says the same as above, except it says \\computername\external hd\foldername. And I have no problem with the Public folder, but I need to be able to access it by drive and folder. Bubba73 You talkin' to me? 00:37, 21 January 2012 (UTC)[reply]

After some searching I think I may have found the answer. On Vista (or both computers if you want to share folders both ways) go to Start and type secpol.msc into the search box. Navigate to Local Policies -> Security Options and find the entry "Network access: Let Everyone permissions apply to anonymous users". Double click and set to "enable" 82.45.62.107 (talk) 00:54, 21 January 2012 (UTC)[reply]
When I type in secpol.msc, it doesn't find it (it has Vista Home Basic, SP2). I googled and found this:

Secpol.msc does not exist in the home versions of Vista. But basically secpol.msc is just another GUI for registry settings. All settings regarding UAC can be found in the registry at HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System.

Is isn't on my Windows 7 system either. I can edit the registry if I know what to do. Bubba73 You talkin' to me? 03:31, 21 January 2012 (UTC)[reply]

And to see if it made any difference, I put in a USB wireless networking device and disconnected the ethernet cable. It had the same problem. Bubba73 You talkin' to me? 03:43, 21 January 2012 (UTC)[reply]
Can't you just make the guest computer log in to the host computer rather then trying to access it without login/anonymously? Normally it will ask, I'm not sure why it didn't here, perhaps because you allowed everyone access? In any case, you could always try 'Map network drive' under 'Tools' in Explorer which should hopefully allow you to specify different credentials. (I should mention I'm not that familiar with the limitations of Home Basic.) Nil Einne (talk) 13:01, 22 January 2012 (UTC)[reply]

Platform-dependent C++ problem regarding standard out

[edit]

I have a simple optimization program, with a single main loop, that broadly "works" on Windows (compiled with Visual C++ 2005) and Linux (compiled with the latest Intel compiler). The main loop of the program spits out either a "*" or a "." to standard out with each iteration. Both versions of the program result in the same contents produced at standard out. However, the Windows version produces a "*" or "." every few seconds, whilst the Linux version produces nothing for several minutes, then all the "*"s and "."s, and the statement that the program is finished. The purpose of these characters being sent to standard out is for me to evaluate the progress of the program, so I'd really rather have them than not. Given that the contents of standard out end up being the same, I have two potential explanations for the problem:

(a)There is no problem, and this is correct. The Linux version is compiled such that the final result is ready at (almost) the same time as all the intermediate steps.

(b)There is some API difference that I am not aware of, and this behaviour can be corrected by compiling the Linux version with some additional library (I have not specified any libraries in the relevant makefile with the Linux version).

So, where am I going wrong?--Leon (talk) 15:51, 20 January 2012 (UTC)[reply]

Well, the first thing that comes to mind is that on most systems (including Linux) standard out is buffered by default, which means that while you can write to standard out any time you like, the output is only displayed when the buffer is flushed, which happens when a new line is printed or the program ends. There is a way to make standard out unbuffered, but I don't remember it off-hand at the moment. Note that setting buffering on or off is platform-dependent, so you are going to need different code for Windows and Linux. JIP | Talk 16:24, 20 January 2012 (UTC)[reply]
You can also use fflush after each printout. This flushes the buffers in a portable way. Nimur (talk) 16:43, 20 January 2012 (UTC)[reply]
This works perfectly, thanks!--Leon (talk) 18:44, 20 January 2012 (UTC)[reply]
Which is ostream::flush if using C++ streams. I know of no evidence that newlines cause a flush. -- Finlay McWalterTalk 16:49, 20 January 2012 (UTC)[reply]
std::endl causes both a newline and a flush, which may have contributed to the confusion. --NYKevin @892, i.e. 20:24, 20 January 2012 (UTC)[reply]
Instead of manually flushing the stream you can use setbuf or setvbuf in main() to change the buffering. These are standard functions, not platform dependent. There are three buffering modes: unbuffered (everything is sent to the OS immediately), line buffered (everything up to the most recently written '\n' is sent), and block buffered (the buffer is sent when it gets full). Usually the C library chooses line buffering for stdout when it's a terminal and block buffering otherwise (which is really annoying when you want to pipe something through tee). Microsoft's library seems to make it unbuffered instead of line buffered in the first case. -- BenRG (talk) 04:06, 21 January 2012 (UTC)[reply]

Word styles

[edit]
Resolved

I am using Word 2003 on XP. I understand styles (mostly). But if I have a named style (say "TableBody") and then decide it isn't quite right, I want to be able to play with it in the document (adjust indents, tabs, fonts, sizes, italics ...) and then say to Word "This paragraph is what I want to mean when I select "TableBody". I can't see how to do this other than to go "modify Style" and painfully edit all the individual configurations. Surely one can just suck the style highlit in. But how please? -- SGBailey (talk) 18:26, 20 January 2012 (UTC)[reply]

There should be an item called "Update style to match selection." I can't recall what the user interface label called this on Word 2003; perhaps it was "redefine style" or something similar. The built-in help in Microsoft Word should be able to help you locate this feature in your version. Nimur (talk) 19:40, 20 January 2012 (UTC)[reply]
Thanks - Found it when I right click on the style name in the List of Styles in "Format Styles". (It may be elsewhere as well, but that is sufficient. -- SGBailey (talk) 20:47, 20 January 2012 (UTC)[reply]

IPv6 transitioning

[edit]

Will home users have to upgrade anything with the switch to IPv6? Will they have to buy a new router, modem, etc? Dismas|(talk) 18:59, 20 January 2012 (UTC)[reply]

The average consumer does not need to worry. At least, not for a long time. Von Restorff (talk) 19:14, 20 January 2012 (UTC)[reply]
Surprisingly, almost all networked operating systems, and most ethernet and wireless cards, have supported IPv6 for the last ten or twenty years. (My IBM Aptiva ran Windows 95 with a US Robotics modem, and supported IPv6 almost two decades ago - there was nothing else running an IPv6 network that I could connect to). Many (most?) home-use routers and networking gear already support IPv6. Sometimes, a firmware or software update is required. For example, Linksys E4200 Wireless Router supports IPv6 after updating the firmware. As that article explains, the limiting factor today (in 2012) is that your internet connection only provides IPv4 addressing and routing - and the same applies for most websites ... so even if all your home equipment supports IPv6, the newer protocol won't be used to route out to the public internet until the "rest of the world" starts supporting it. Nimur (talk) 19:34, 20 January 2012 (UTC)[reply]
You can use Google to tell you whether you will have any problems with IPv6. Just a quick warning though, if you happen to fail the test, don't just run straight out and buy a new router, since it could be your ISP or any number of other things that are causing the problem. Since my ISP passes the test I don't know how helpful the message you get if there is a problem will be. - Cucumber Mike (talk) 21:12, 20 January 2012 (UTC)[reply]
I call shenanigans on that Google javascript IPv6 test. It's not checking my networking capabilities, it's checking whether Google's IPv6-only server responds to my requests! My user-agent's implementation of JavaScript refuses to run this ridiculous test (for obvious reasons - I don't allow JavaScript to redirect me to other servers, and I certainly don't allow random scripts to have privileged access to my network stack!) As a result, the Google page loads incorrectly - it simultaneously shows that my user-agent "supports," "partially supports," and "does not support" IPv6. I wouldn't believe everything you find on Google's website, especially when they hide it behind goofy obfuscated scripts.
When I want to check if my system is routing via IPv6, I use ifconfig and traceroute. On Windows, I use the Control Panel. I don't trust a "web service" to diagnose or validate my networking hardware. That approach is fundamentally flawed; it is predicated on my connection to their web-service, for which routability is a prerequisite. Nimur (talk) 22:09, 20 January 2012 (UTC)[reply]