Showing posts with label Windows. Show all posts
Showing posts with label Windows. Show all posts

Monday, September 20, 2010

.

Interesting hacks: IPv6 addreses in UNC names

Microsoft’s Raymond Chen tells us about an interesting hack that Microsoft uses. When you’re using a disk drive over the network from Windows, you normally refer to it with what’s called a UNC name (for Uniform Naming Convention). Normally, what goes into the UNC name is the name of the computer the drive is on, so if you want to use a share called Banana on a computer called HomeSrv, you write it as \\HomeSrv\Banana. So, for example, you might copy MyFile.html into the WebFiles subdirectory this way:

copy MyFile.html \\HomeSrv\Banana\WebFiles

That uses a NetBIOS name for the computer, but it’s common to use an Internet address instead, often written as a domain name. So, maybe:

copy MyFile.html \\homesrv.example.net\Banana\WebFiles

Sometimes, you have to use a computer that doesn’t have a resolvable name, perhaps because it’s on a private network that doesn’t have name-resolution service (DNS). In that case, you have to use the numeric Internet address (IP address):

copy MyFile.html \\192.168.2.13\Banana\WebFiles

Now, 192.168.2.13 is an IPv4 address — the form of address most of us are using today. But as we switch to IPv6, we’ll be using addresses in a different form. They’re 128-bit addresses, and they’re written as eight sixteen-bit chunks, separated by colons (not dots). Like this:

copy MyFile.html \\2001:DB8:0:0:8:800:200C:417A\Banana\WebFiles

The trouble is that the colon character has a special meaning in Windows identifiers, from way back before anyone had thought of IPv6, and many programs can’t deal with something that looks like that. To help out, Microsoft registered the domain name ipv6-literal.net, and you can do this with it:

copy MyFile.html \\2001-DB8-0-0-8-800-200C-417A.ipv6-literal.net\Banana\WebFiles

That special name, 2001-DB8-0-0-8-800-200C-417A.ipv6-literal.net, will resolve to the IPv6 address 2001:DB8:0:0:8:800:200C:417A... and it might look long and ugly, but it will work in any program that supports domain names in UNC names.

The amusing part of the hack is that it doesn’t actually go out to DNS and resolve that name. Indeed, if you try it from nslookup, it will resolve to the same address that ipv6-literal.net does. If you put it in a web browser, it will do a Bing search on the address string and ipv6-literal. No, what’s interesting is that the name is specially handled by Windows, and resolved in the Windows internal name resolution scheme, without its ever going out to the Internet.

It’s the true definition of a hack, put in to make old resource-name parsers happy. And it only has to work on Windows, because Windows systems are the only ones that have that issue with the colon character.

Wednesday, April 21, 2010

.

Program-launching on speed

An open complaint to all companies and software developers that install those damned “speed launcher” things along with their software:

Folks, your program is not the most important effing thing on my computer. Stop that! When I want to run your program, I’ll run your program. Don’t pre-load the bulk of your program when my computer starts up, taking up memory and slowing down everything else I’m running.

Further explanation for those of my readers who don’t understand what these things are, or don’t even know that they exist:

When you install (on Windows) Adobe Reader, Real Player, QuickTime, and various other programs, they install an extra process that starts when your computer does. This extra process pre-loads much of the program code and leaves it in your computer’s memory all the time, regardless of when and whether you actually want to run these programs. The idea is that when you do want to use, say, Adobe Reader, it appears to start more quickly than it otherwise would, because most of it is already loaded into memory.

But the cost of this is that the program takes up running memory in your computer from the very start, whether or not you ever use Adobe Reader (or Real Player, or QuickTime, or...). Depending upon how much available memory you have (not on the disk drive, but in working memory, RAM), the difference might not be noticeable, or it might make the computer seem sluggish.

You’re trading off loading the programs when they’re needed with loading them when you start the computer. With these “speed launchers” installed, your computer will take a little longer to start up. You most likely won’t notice that, because it’s done in the background, not while you’re waiting for something to happen. So perhaps you like these things, especially if you use the programs in question quite often.

The thing is that the installation programs don’t give you a choice, and unless you know what to do, it’s hard to get rid of the speed launchers — they aren’t exposed processes, with user interfaces that let you turn them off, and there’s not usually an option in the main program’s preferences to control them.

The speed-launcher processes are hidden in the Run key in the Windows registry. If you want to get rid of the ones you don’t need, run the registry editor (click the start button and select “Run...”, type “regedit”, and press enter). Click the plus signs to expand “HKEY_LOCAL_MACHINE”, “Software”, “Microsoft”, “Windows”, “CurrentVersion”, and then click on “Run”. In the right pane, you should see a list of programs — these are all started when Windows starts up. Don’t delete them wantonly, because many of these are needed to support things like your anti-virus program, your audio system, your wireless networking, and your computer’s power-management system.

You can, though, delete one of more of these, and there may be others:

  • Adobe Reader Speed Launcher
  • Real Tray
  • QuickTime Task
  • iTunes Helper

If you want to know what any of them are, and whether it might be safe to remove them, try a Google search.

Thursday, May 14, 2009

.

Linux for Mom and Dad?

My former colleague Bob Sutor is IBM’s Vice President of Open Source and Linux. In the linked blog post, Bob suggests pushing Linux instead of Windows 7:

I think members of the Linux community need to respond if they believe that the Linux desktop is a better choice and more suitable to be on machines given to friends and loved ones. This doesn’t mean waiting until December 1, it means thinking about how to 1) promote Linux desktop and its tools and applications, and 2) preparing to counter Microsoft claims as it gears up to claim that Windows 7 is the best operating system since Windows Vista XP.
For starting ideas, Bob suggests these angles:
Top ten reasons to give Mom a Linux desktop for the holidays?

How to get two or three more years from Dad’s computer while giving him the gift he really wants?

Linux: the operating system that gives you more and saves you money?

Let’s step back a moment, and look at some of the reasons that most people use Windows:

  1. It comes pre-installed on the computer.
  2. All the software you’ll ever need runs on Windows.
  3. Much — perhaps most — software is developed for Windows first. Mac is usually second, and Linux often comes in third. That means Windows versions are usually available sooner, and are often better tested.
  4. Most folks are already familiar with using Windows. It’s comfortable.
  5. The geek down the street, your brother-in-law, or that friend of your cousin, who will help you when you have problems, knows Windows. Help is more readily available.
There are probably others, but those are the big ones.

Now, why might you want to avoid Windows?:

  1. Because “everyone” uses Windows, most malware targets Windows.
  2. Maybe you don’t want to support the Microsoft juggernaut.
  3. New Windows versions require increasingly “loaded” computers — faster processors, more memory, larger hard drives.
  4. There’s a perception that MacOS is “easier to use” than Windows. Similarly, there’s a perception that with Macs, things (software, plug-in devices, network connectivity, and so on) “just work”, and that that’s not so with Windows.

OK, so.... Many manufacturers will give you the choice of Windows or Linux. Windows will come by default, but if you ask, you can often get Linux, and it might even take a few dollars off the price, because it avoids the Windows license fees.

If you think of Microsoft as a large, inflexible monolith, you should probably tar Apple with the same brush. Apple has an image of being more “cool” than Microsoft, but, if anything, its interfaces to its hardware and software are more tightly closed than Microsoft’s are. Linux, of course, is pretty much wide open. Though people can certainly provide (for free or for sale) closed pieces, it’s not the Linux culture.

Tux, the Linux logo/mascotTake it from a Windows user who’s had a Mac for two years: MacOS isn’t easier to use than Windows. It’s just different — not better, not worse, just different.[1] It probably was true that Macs were easier, back in the days of Windows version 3 and Windows NT. But Windows 95 changed all that, and with each subsequent version it’s been getting smoother.[2] Linux desktop managers — one can choose among several, though the distribution installed on your computer will likely be set up with one in particular — are also easy to use (and, yet, different still), so this is really not a big issue. The point here is that if one is starting out, one will learn whichever desktop environment one is given... and if one is already used to one, changing to any other will be disruptive for a while, but one will get used to it.

That leaves the various software issues. So let’s spend a few minutes on those.

The software one needs depends largely on what one does with one’s computer. I, as a programmer, use various software development tools that my mother, for example, won’t need. Some people use things like Illustrator, Photoshop, Dreamweaver, and Flash. Some use various video editors. Gamers have their own needs.

But if we’re just looking at what most people need — people who use their computers for email and web access, and the occasional spreadsheet — we’re looking at a more limited set of software. A few years ago, we’d have listed the necessary stuff as an email program, address book, calendar, web browser, and an office suite (word processor, spreadsheet, presentation maker).

If anything, though, we’re paring that list down. Many are using web-mail services, such as Gmail. They usually include address books, and may have calendars too. For the office suite, there’s always OpenOffice, an open-source program, to take the place of Microsoft Office. But one can even avoid that by opting for an online service like Google Docs.

Indeed, you can set yourself up as an all-Google house if you like. Gmail handles mail and address book. Google Calendar and Google Docs will do the other stuff. You can use Google’s Picasa for your photo editing and storage. And most of us don’t need more than that. Skype, maybe, and that runs everywhere — and there’s even Google Voice, their re-branding of the recently acquired GrandCentral, which is adding Skype-like functions.

Of course, we’re exchanging one monolith for another, by doing that, and we’re moving our information — email, contacts, schedule, documents — onto Internet servers out of our direct control. We might think about whether we really want that.

In other words, many people will need nothing more than a web browser, which is certainly no problem for any operating system. If you use Firefox, all the plugins you need will run on Windows and MacOS and Linux. Opera runs on those, too, and on Solaris too... and there’s even an OS/2 version, in case anyone’s still using that.

So, the vast majority of people will not have to worry about software. The key to enabling Mom and Dad to use Linux instead of Windows is

  1. making sure they can get Linux pre-loaded on their new computers,
  2. making sure that drivers are available and easily found, so that plugging devices in “just works”,
  3. making sure configuration and network connections work smoothly, and that the geeky bits are hidden, and
  4. convincing them that it’s OK that they can’t call on Cousin Bubba’s friend, because he only knows Windows.

That fourth one might just be the hardest part.
 


[1] See my posts about my experiences with my Macbook, in which I point out a number of aspects where MacOS is different, and sometimes internally inconsistent.

[2] I did stop at XP, though, so I can’t speak for Vista. I’ve heard mixed reviews of Vista: some love it, and some think the changes have made it worse.

Thursday, September 06, 2007

.

Micro-babble, and Vista SP1

In describing how they decided what fixes to put into an upcoming Windows Vista service pack, Microsoft’s Senior Vice President of Windows Core Operating System Division, Jon DeVaan, said this:

Our primary focus after launch became addressing ecosystem compatibility issues that the data showed had adversely impacted some users’ Windows Vista experience.
Hoo!

That has to be one of the biggest loads of corporate-babble garbage that I’ve seen or heard in quite some time — and that’s saying a lot. Nearly every word here is corporate-babble, or is part of a phrase that is: “primary focus”, “launch”, “addressing”, “ecosystem“, “issues”, “the data showed”, “adversely impacted”, “users’ experience”.

Wow.

Let’s try a translation into user-speak:

“After we started selling Windows Vista, we decided that the most important thing to do was to fix the stuff that makes our customers think it’s a load of crap.”

And, after all, isn’t that what any business ought to do? Shouldn’t they have done it before they forced it on everyone by having it installed on every computer sold?

I’m not a Microsoft basher; in fact, I think they generally do a good job, and they’ve made vast improvements in Windows through the years. Vista is not one of them, overall; there are real enhancements there, but there's too much junk in it too, and too much has changed at once. And Mr DeVaan can’t hide that behind buzzwords and babble.

[Hat tip to Les Jenkins, at Stupid Evil Bastard.]