Iphone 4 Voice Commands

August 4th, 2010

Incase you didn’t know..

You can press and hold the home button to enable voice commands..

Here is a list of commands, ripped from the IOS4 manual.

iPhone User Guide

Voice Control

Voice Control (iPhone 3GS or later) lets you make phone calls and control iPod music playback using voice commands. Note: Voice Control may not be available in all languages.

Use Voice Control: Press and hold the Home button until the Voice Control screen appears and you hear a beep. You can also press and hold the center button on the iPhone earphones (or the equivalent button on a Bluetooth headset).

Use the following commands to make calls or play songs.

Call someone in contacts Say “call” or “dial,” then say the name of the person. If the person has more than one phone number, you can add “home” or “mobile,” for example.
Dial a number Say “call” or “dial,” then say the number.
Control music playback Say “play” or “play music.” To pause, say “pause” or “pause music.” You can also say “next song” or “previous song.”
Play an album, artist, or playlist Say “play,” then say “album,” “artist,” or “playlist” and the name.
Shuffle the current playlist Say “shuffle.”
Find out more about the currently playing song Say “what’s playing,” “what song is this,” “who sings this song,” or “who is this song by.”
Use Genius to play similar songs Say “Genius,” “play more like this,” or “play more songs like this.”
Find out the current time Say “what time is it?” or “what is the time?”
Cancel Voice Control Say “cancel” or “stop.

Top 10 Windows 7 Keyboard Shortcuts (Also Server 2008 R2)

July 28th, 2010

Windows key+Spacebar—The Windows key (Win)+ Spacebar keystroke combination gives you a quick way to display your desktop. All open Windows are made transparent, and you can see the desktop underneath. However, you can’t interact with anything on the desktop. When you release the Windows key, the open windows become visible again.

Win+Home—This keyboard shortcut provides a handy way to quickly clean up your workspace. Pressing Win+Home minimizes all open windows with the exception of the currently active window.

Win+Number—The Windows key plus a number provides a shortcut to opening items in the Windows 7 taskbar. Press the Windows key together with the number that corresponds to the taskbar item you want to open, counting left to right. For instance, Win+2 opens the second taskbar item.

Win+(+ or -)—This keyboard shortcut can be handy during presentations because it lets you magnify the screen. Pressing the Windows key and the plus sign (+) makes the entire screen larger with each iteration. Conversely, pressing the Windows key and the minus sign (-) makes the screen display progressively smaller.

Win+T—This keyboard shortcut is handy if you want to quickly scroll through the different items in the Windows 7 taskbar.

Pressing Win+T cycles through the taskbar items, displaying the thumbnail image for each item. If you want to 10 9 8 7 6 change which item you’re currently working in, you can press Enter when an item is highlighted to switch to that item.

Win+Left arrow and Win+Right arrow—Although some of these shortcuts have been in previous versions of Windows, these two are totally new to Windows 7. They let you take advantage of the UI’s side-by-side docking feature. Pressing the Windows key and either the Right or Left arrow key docks the current Window to the side of the desktop that corresponds with the direction of the arrow.

Win+L—This keyboard combination is super handy for quickly locking your desktop. Pressing Win+L locks the desktop and displays the Windows logon screen. To unlock the desktop, you need to enter your Windows password.

Win+E—Even faster than launching Windows Explorer by right clicking the Start button, pressing Win+E launches Windows Explorer, starting with the Computer view. From there, it’s easy to navigate through the system’s drives shown in the right portion of the Windows Explorer window to find whatever you’re looking for.

Win+P—If you’ve ever needed to give presentations on multiple brands of laptops, you know how annoying it can be to search each different type of laptop for its external projector or monitor hot key. Windows 7 fixes that problem. Pressing Win+P displays the Presentation Display Mode window, which lets you toggle your laptop’s presentation mode between Computer Only, Duplicate, Extended, or Projector Only.

Win+X—If you’re running Windows 7 on a laptop, this keyboard shortcut is for you. Pressing Win+X displays the Windows Mobility Center, which lets you control a number of system settings, including the audio level, the power scheme, wireless networking, external displays, and the external projector. The Windows Mobility Center is also often customized by each OEM.

Test post from ipad app.

July 28th, 2010

This is a test post from my iPad 3G using the wordpress app.

Server 2008 Starter GPO’s… Does Anyone Care?

June 21st, 2010

In Server 2008 and Vista, Microsoft introduced the notion of Starter GPOs—templates of GPOs that you could use to create real GPOs. The idea was sound, but the execution was lacking. The problem with Starter GPOs is that they support only Administrative Template policy settings, severely limiting the kinds of templates you can create. What Microsoft did in Server 2008 R2 and Windows 7 is only a small improvement over what was previously shipped. Basically, you now have the ability to prepopulate the Starter GPOs with the Windows Server 2008, Vista, and Windows XP SP2 security guideline settings that were previously provided via the so-called GPO Accelerators. Of course, because Starter GPOs support only Administrative Templates settings, and not security settings (which are the main focus of the security guideline settings), these prepopulated Starter GPOs are relatively useless. But if you need to create templates of Administrative Templates settings that you can reuse to create real GPOs, then Starter GPOs are for you.

Just Upgraded the Blog Engine to WordPress 3.0.. and..

June 21st, 2010

Just Upgraded the Blog Engine to WordPress 3.0.. and now to see how much it breaks..

Hopefully nothing at all, a lot of work has gone into my template including Ajax support and various customizations such as some Adobe contribute code and google gears / Analytics.

Only time will tell.

What is mscorsvw.exe and why is it eating up my CPU? What is this new CLR Optimization Service?

June 17th, 2010

Just finished a bunch of windows updates..

Restart my 08 server.. and.. %100 CPU Usage?

mscorsvw service in taskmanager

mscorsvw service in taskmanager

 

Nedless to say I wasn’t impressed as I had work to do.

Here’s my findings:

 Short version:

mscorsvw.exe is precompiling .NET assemblies in the background. Once it’s done, it will go away. Typically, after you install the .NET Redist, it will be done with the high priority assemblies in 5 to 10 minutes and then will wait until your computer is idle to process the low priority assemblies. Once it does that it will shutdown and you won’t see mscorsvw.exe. One important thing is that while you may see 100% CPU usage, the compilation happens in a process with low priority, so it tries not to steal the CPU for other stuff you are doing. Once everything is compiled, assemblies will now be able to share pages across different processes and warm start up will be typically much faster, so we’re not throwing away your cycles.

If you are really want to get rid of mscorsvw.exe from your task manager, just do:

ngen.exe executequeueditems

which will drain all the queued up work.

Long version:

If you wonder why I haven’t been posting much to my blog, mscorsvw.exe is the reason ;) . mscorsvw.exe doubles up as both the CLR Optimization Service (or NGEN Service, as we know it internally) and as the NGEN worker. If you don’t know what NGEN is you may start by reading Reid Wilkes’ excellent article about NGEN in Whidbey: http://msdn.microsoft.com/msdnmag/issues/05/04/NGen/default.aspx . Reid is one of the members of the team that has been working in NGEN and the Optimization Service.

What problem is the CLR Optimization Service trying to solve?

One problem with precompiled assemblies (I will refer to them as NGEN images) is that they are very dependent on the VM and other asemblies. For example, they have Method Tables in a binary form, know what CLR helpers to call to do various tasks, may inline code from other assemblies, etc…

The downside, of course, is that whenever the runtime (for example via a Service Pack) or one of the dependencies of your ngen images changes (version upgrade or patch), your ngen image becomes invalid. In v1.0 and v1.1 of the CLR we weren’t really encouraging people to use NGEN, and this was one of the reasons, nobody recompiled the assemblies if they became invalid, so anybody that NGENed an assembly had to NGEN it again after servicing.

Due to some changes in our long term schedule, we decided after shipping Beta 1 that we had to have a better story in Whidbey for this problem, hence the CLR Optimization Service was born. The CLR Optimization Service will keep track of dependencies of assemblies and will recompile them as necessary. For example, when the .NET Runtime gets serviced, the SP installer will tell the service that there have been changes in the runtime and that it should start recompiling assemblies. Of course, if you have 1000 managed applications installed, that would mean it would take some time to complete the installation of the SP, so instead of waiting to recompile the world, it will compile assemblies in the background.

How does the CLR Optimization Service work?

Reid’s article already covers most of this, so I won’t extend myself much on this.

There’s 2 ways of waking up the service:

- Notifying the service there have been changes that may require recompilation (via ngen.exe update): The service will start up and figure out what needs to be recompiled and will queue up the work that is necessary.

- Queueing up new work (via ngen.exe install /queue): will add new work to the queue of assemblies that need to get compiled.

When does the service do work?

Work is prioritized. There’s 2 big buckets of work

- High priority work: Service starts work immediately. Compilation happens in a low priority process to try to minimize impact on other apps that are running. It still can have impact on the machine performance, though, specially if the machine is doing a lot of I/O work or is very low on memory. Currently, priorities 1 and 2 are high priority, but this is subject to change.

- Low priority work: Service starts but waits until the machine is idle. Our definition of idle is something that can change in the future, but I can tell you it looks at things like the last time the user had input, if the machine is running on batteries, screen savers, etc… Once it decides the machine is idle, it will go ahead and do the work that’s left.

Once all work is done, the service will shut itself down and won’t come back until somebody wakes it up.

What is the typical lifetime of the CLR Optimization Service?

Let’s look at the .NET Redist as an example. The .NET Redist does some compilation during setup and also queues up both high and low priority work items. Typically, when the installation completes, you will see 2 instances of mscorsvw.exe running. One is the service itself and the other is the compilation worker process, which is actually doing all the interesting work. If you are curious about which one is which, as a rule of thumb, the one using more memory and CPU is the worker. If you want to know for sure, you can do ‘tasklist /svc’, which will show you which mscorsvw.exe is the process.

After a while, all the high priority work will get done and you will see only one mscorsvw.exe running. The service is just waiting for the machine to be idle. During this time, the service is not doing anything interesting, so it won’t consume CPU and shouldn’t be using much memory. One the computer is idle (typically when you take a break or go for lunch), the service will start up new workers to complete the remaining work.

Once all work is done, the service will set itself to manual start (meaning it won’t start when you restart your computer) and will shut down.

Should I use the CLR Optimization Service in my installer?

The guideline I would give is the following:

Use /queue in your installer if you have assemblies that you would like NGENed, having the assembly compiled is not necessary for you to meet your performance goals (as with /queue there is no guarantee of when the compilation will actually happen), and install time is very important for you. Rationale: High priority work can impact user experience and with low priority work you  will at least have a service hanging around. Also Idle detection is not perfect (or each person will have one definition of idle), so the best way of having no negative impact on your customer’s machine is not having any pending work.

What about 64 bit?

64 bit .NET Redist actually installs 2 versions of the runtime side by side, a 32 bit and a 64 bit one. You get 2 services, but they cooperate to make sure that both are not working at the same time.

Why don’t you take advantage of my multiproc machine?

Because we don’t want to degrade machine performance. The CLR Optimization service tries hard to do work in the background, having 2, 4 or 8 compilations happen at the same time multiplies by 2, 4 or 8 the memory/CPU/I/O resources we would need.

How do I make mscorsvw.exe go away?

I don’t want to wait until my computer is idle, compile everything now!!!

ngen.exe executequeueditems

will process all pending work. Once this is done, the service will shutdown, as it has nothing else to do.

How do I know what is compiled or if my deferred compilation failed?

Look in the Application Event Log, we log there when we start and finish compiling assemblies, and any errors that can occur. We are working on improving the logging for RTM version.

ngen.exe display

Will also give you some status, but is not 100% guaranteed to be completely up to date regarding pending work.

You can find more about this on the MSDN Blog I found.
http://blogs.msdn.com/b/davidnotario/archive/2005/04/27/412838.aspx

Hope this helps.

-Chad

Why my 2008 Servers took 2-3 hours to reboot.

June 17th, 2010
So I get some frantic calls from some of my clients saying “OMG BBQ ROFLCOPTER SERVER DOWN!!” or something along those lines.
I went to thier site and this is what I see:
Server 2008 SP2 Update

OMG WTF! Why are you taking so long!!!!1111 oneone one. six.

 Much to my frustraition.. this is the second or third time I see this. First time I thought.. ok.. some crazy Scandisk fixing errors on a reboot and let it slide. this being the third time seing this, I thought.. OK. Seriusly? Time to figure out what the heck is going on so I can prevent this from happening again.

After some quick googling the interwebs with the querry:
“\registry\machine\schema\wcm://”

I came across hundreds of vista and server users pulling thier hair out over this update. The update being SP2.. (SP1 for some users?)

Looks like I’m going to have to change the defualt WSUS settings on some of the SBS servers too..

After it counted to 17-thousand-something.. Everything was good to go again.

Gstumbler tells all – Those Google Streetview Cars also grabbed your MAC Addys.

June 10th, 2010

I am assuming this is so Google can use WiFi, based location services.. but still.

The third party commissioned by Google to review the software used in its Street View WiFi cars has completed its report, called Source Code Analysis of ‘Gstumbler’.  I will resist commenting on the name, since Google did the right thing in publishing the report:  there will no longer be any ambiguity about what was being collected.

As we have discussed over the last week, two issues are of importance – collection of device identity data, and collection of payload data.  One thing I like about te report is that it has a begins with a a number of technical “descriptions and definitions”.  For example, in paragraph 7 it explains enveloping:

“Each packet is comprised of a packet header which contains network administrative information and the addressing information (or “envelope” information) necessary to transmit the data packet from one device to another along the path to its final destination.  Each packet also contains a “payload” which is a fragment of the “content” of the communication or data transmission sent or received over the internet…”

It explains that in 802.11 packets are encapsulated in frames, describes the types of frames and presents the standard diagram showing how a frame is structured.

Readers should understand that when network encryption is turned on, it is only the Frame Body (Payload) of data frames that is encrypted.

In paragraph 19, the report provides an overview of its findings:

“While running in memory, the program parses frame header information, such as frame type, MAC addresses, and other network administrative data from each of the captured frames.  The parsing separates the information into discreet fields for easier analysis… All available MAC addresses contained in a frame are also parsed.  All of this parsed header information is written to disk for frames transmitted over both encrypted and unencrypted wireless networks [emphasis mine - Kim].”

In paragraph 20, the report explains that the software discards the content of encrypted bodies (which of course it can’t analyse anyway) whereas unencrypted bodies are also written to disk.  I have not discussed the issue of collecting the frame bodies in these pages – there is no need to do so since it is intuitively easy for people to understand what it means to collect payloads.

In paragraph 22 the report concludes that “all wireless frame data was recorded except for the bodies of 802.11 Data frames from encypted networks.”

All device identifiers were recorded

As a result, there is no longer any question.  The MAC addresses of all the WiFi laptops and phones in the homes, businesses, enterprises and government buildings were recorded by the driveby mapping cars, as were the wireless access points, and this regardless of the use of encryption.

My one quibble with the otherwise excellent report is that it calls the MAC addresses “network administrative data”.  In fact they are the device identifiers of the network devices – both of the network access point and the devices connecting to that access point – phones and laptops.

It is also worth, given some of the previous conversations about supposed “broadcasting”, drawing attention to paragraph 26, which explains,

“Kismet captures wireless frames using wireless network interface cards set to monitoring mode.  The use of monitoring mode means that Kismet directs the wireless hardware to listen for and process all wireless traffic regardless of its intended destination… Through the use of passive packet sniffing, Kismet can also detect the existence of netwrks with non-broadcast SSIDs, and will capture, parse, and record data from such networks.”

SAN/LAN Transfer Virtualization Accelerator service won’t start (Fixed)

June 9th, 2010

Ok.. so your going through your service..
you notice that SAN/LAN Transfer Virtualization Accelerator service is stopped and it should be running.

You try to start it, it fails.. you find an Event in eventvwr saying some garbage about the file missing.
Here is how to fix it:

Use windows search to look for “slanAccel.exe”
Mine was located at some crazy location like this:
C:\Windows\winsxs\amd64_microsoft-hyper-v-slanaccel_31bf3856ad364e35_6.0.6001.18000_none_1db986a6500c51a0\

Right-click on the slanAccel.exe and hit copy.

Next go to C:\windows\System32\
Hit paste.
Awesome, now go start the service.
(SAN/LAN Transfer Virtualization Accelerator service)

Done.

Can’t Un-install SQL 2008 Reporting Services (Fixed )

June 9th, 2010

If while trying to uninstall SQL Server 2008, you come across some failures.. and go back and try it again and notice that you can’t uninstall Reporting Services..

You may want to go to your event Viewer and look for this:

Log Name: Application
Source: MsiInstaller
Date: 6/9/2010 12:52:14 AM
Event ID: 10005
Task Category: None
Level: Error
Keywords: Classic
User: PROLINE\administrator
Computer: Server2008x64.proline.com
Description:
Product: Microsoft SQL Server 2008 Reporting Services (64-bit) — Error 29561. SQL Server Setup failed to retrieve the SSL Certificate Name.

If you find it..
Here is how to Fix it:

IIS7 Manager, Server Certificates

find any old, corrupt, expired Certificates.
Click on each one, click on remove.

Next go to default Website.
Click Bindings under Edit Site, Far Right.
Find HTTPS Port 443
Click Edit.
Pick a Valid SSL Certificate.

Restart IIS.

Go back and un-install SQL 2008.
Done.