Launching Microsoft Apps error “0x80070102” on Windows 11 – Microsoft Simulator

Helping a friend with an issue on a new computer with Windows 11 and getting the “0x80070102” error when launching Microsoft Simulator.

After doing all the normal steps like resetting the app, Microsoft store app reset, Xbox app reset I remembered an issue with the time being off from another computer where chrome was giving website errors. And sure enough the computers time was off. I set the time to automatic time in the settings and the game came right up with no trouble.

So in the end check on your date and time settings when dealing with the 0x80070102 error or any error with Microsoft Store or games.

Rear Facing Camera not working on iPhone 5S?

Having a problem with a rear facing camera on your iPhone?

Specifically an iPhone 5S?

Should you try and replace the rear camera module?

These were all questions I was googling/asking when my wife came to me with a black screen inside of the camera app. I followed some black magic on youtube about toggling low power mode and hard resetting with some success but it was not consistent. Finally I found an apple forum post from a guy who went through the whole process below in iFixit after buying a new camera module:

https://www.ifixit.com/Guide/iPhone+5s+Rear+Facing+Camera+Replacement/20259

He got in to replace the camera just to find that the camera module cable had disconnected. After a shy grin his girlfriend admitted her phone had dropped about the time the camera stopped working.

After reading this a lightbulb went off. Knowing that the kids use my wife’s iPhone to play games and watch video I knew this had to be a similar issue. I took out my trusty iFixIt tool kit and got to work. Low and behold the rear facing camera cable was loose.

iphone_5s_rear_facing_camera_replacement_-_ifixit

I went through the iFixIt guide and then popped off the rear camera connection to make sure no lint or dirt was under the contacts and reconnected it. I put the phone back together and poof! The camera started working again like magic.

My wife was happy and so was I. Happy wife, happy life! 🙂

1&1 VNC Remote Console Java Security Issue

Java has consistently been updating its security to reduce it’s potential for spreading malware. Good news! Unfortunately older online java apps will sometimes break to the point of being unusable. One of those apps is the VNC Console for the 1&1 Dynamic Cloud servers. I found this article that explained how to add a line into the policy file to allow the IP that is getting blocked. Here is the article:

https://community.rackspace.com/general/f/34/t/4951

I had to add this code:


permission java.net.SocketPermission "74.208.2.19:993", "connect, accept";

to this file on OSX (windows has a similar file in JAVAHOME somewhere):

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/security/java.policy

You can add additional lines to this file for any legacy app you encounter.

The error I was getting in the java console when I had this issue was:

"Network Error: access denied ("java.net.SocketPermission" "74.208.2.19:993" "connect,resolve")

As always have fun!

Adding PECL Uploadprogress to 1&1 shared hosting for Drupal 7 (updated)

Drupal 7.x is the platform we use to build great websites. There are modules that allow the ability to update a progress meter when uploading a file. This requires installing a PECL extension to PHP called uploadprogress. Here is the process I used to get it working on a 1and1.com hosting package. You will need a hosting package with ssh support currently the Business and Developer packages do.

  • Download PECL uploadaccess to your 1&1 account
  • Extract the package
    tar xvzf uploadprogress-1.0.3.1.tgz
  • Go into the directory
    cd uploadprogress-1.0.3.1
  • Run phpize5.5
    phpize5.5
  • Change php-config to php-config5.5 in configure script
    sed -i 's/=php-config/=php-config5.5/g' configure
  • Run Configure
    ./configure
  • Change include directives in Makefile
    sed -i 's#-I/usr/include/php#-I/usr/include/php5.5#g' Makefile
  • Run make and make test
    make
    make test
  • Make new extensions folder for new extension to go in
    mkdir ~/extensions
  • Copy uploadprogress extension to new folder
    cp .libs/uploadprogress.so ~/extensions/
  • Create new php.ini under your main folder (or under a single subfolder for just that application) to add new extension_dir then add this code to the file
    extension_dir=/kunden/homepages/6/d87663654/htdocs/extensions/
    extension=uploadprogress.so

That should be it. You should now be able to see the “Upload progress Enabled (PECL uploadprogress)” on the admin/reports/status page in Drupal.

Links that helped me with the above info:

This is an update from the original Drupal 6 article. (http://jheslop.com/2009/05/27/adding-pecl-uploadprogress-to-11-shared-hosting-for-drupal-filefield/) Just thought I would pass along as it was a little different that the previous article.

Discrete graphics switching, MacBook Pro Retina, Google Chat and you

MacBook_Pro_Retina_nvidia-3Getting a new toy work laptop was one of the best decisions I made last year. My old 17″ MacBook Pro was getting tired and could not keep up with the computing I needed to do for my job. So when I got the 16GB of RAM 15″ MacBook Pro Retina (MBPr) late last year I was so pumped. I could run Parallels to run the windows programming environments as well as Firefox, Chrome and the web development apps all at the same time with plenty of room to spare.

One of the greatest things about this type of MBPr is the ability to do graphics switching on the fly. Apps that need more graphic card juice can get it. However using the NVIDIA GeForec GT 650M sucks the battery faster than a cheetah in hot pursuit. So in an effort to reduce and monitor the times my MBPr switches to discrete graphics mode I downloaded the awesome gfxCardStatus app for OSX. It lets you know when graphics switching occurs and most importantly what app turned on discrete graphics. Very handy and I suggest anyone with a graphics switching mac to download and donate.

All of that to say google chat in gmail and google+ has been the most annoying graphic switching app to deal with. I just want to check email in gmail or look at my google+ feed without having graphics card switching on and off. And if I want to leave gmail up and running it would be burning the battery down just to have the convenience of the web app up and running. This had to stop. So I started looking into why google chat was using discrete graphics. It all narrowed down to the google voice and video chat plugin. I uninstalled that plugin and no more graphics switching. Ok figured out why it was doing that. But there are times when I may want to use the video and audio features of chat in google+ or gmail. So I reinstalled the plugin and was able to find a way to disable chat in gmail and temporarily disable it in google+ with adblock plus as I wrote in my Removing Chat in Google+ article. Now I am switching graphics cards way less often and managing battery life much better.

Hopefully this will help someone in a similar position because I could not find anyone else by google’ing this issue. If you haver an questions or additions to my thoughts here please leave a comment. Thanks!

Removing Chat in Google+ (and GMail)

Google PlusI’ve been using google+ more recently and while I don’t mind chat being on the right side of the screen I wanted to remove it. No I’m not talking turn it off and have it looking at me. Or minimizing it somehow. I mean turn it off. Gone. For good. So I looked around the internets for a solution and all I could come up with was to sign out of chat. While some may find that as acceptable I didn’t. There had to be a way to just have nice white space on the right side. And there is! Here is how I did it in Firefox:

  • Download the amazing Adblock Plus add-on for Firefox
  • Right click in the chat area on the right in google+
  • Click on Adblock Plus: Block frame…
  • I just chose the defaults and hit the Add Filter button

Then boom. It is gone. And you can sigh in relief as you have de-cluttered and removed another distraction from google+ so you can browse your feed in peace. Sure there will be times when I may want to have chat in google+ and for those times I will just disable Adblock Plus for the plus.google.com domain. Then refresh the page.

This does not get rid of chat in GMail however and because GMail does not put chat into a frame we can not use Adblock to remove it. Fortunately that is a much easier process. Just go into your gmail settings, to the chat settings and turn it off. Easy peasy.

Ok so if you have gotten this far you may be asking yourself “Why get rid of chat!?! I need chat!!”. Well I have been using the Messages.app on my Mac to supply my google chatting and iMessage needs. I will also use Adium when the need arises which also supports google chat and other chat client protocols. Another huge reason for me is because I’m using a MacBook Pro Retina laptop with a discrete plus internal graphics cards. Google chat voice and video plugin was triggering the discrete graphic card and draining the battery. No Beuno! I plan on writing a follow up blog post on how best to handle the discrete vs internal video card battle. So stay updated on new posts by signing up to my newsletter on the right.

This solution assumes you are using Firefox and not Chrome. I know there is an Adblock type extension for chrome, but I have not tried it out yet. Let me know in the comments if you try it out and please if anyone has a better way of doing this let me know. Thanks!

Repairing a TrueCrypt Volume and Unmountable Boot Volumes

truecrypt-logo38pxThe dreaded Unmountable Boot Volume rears its ugly head from time to time. Microsoft says it’s either a bad cable or a corrupt filesystem. For me it has always been the later which I fix by putting the harddrive into another computer and running a chkdsk. Or windows sees it as corrupt and fixes it for me (ie Windows 7). But what if your drive has full disk encryption using Truecrypt? (Don’t know what TrueCrypt is? It is an encryption program that can encrypt full volumes or volumes you create. Awesome indeed)

TrueCrypt is not longer being supported and is now VeraCrypt https://veracrypt.codeplex.com/. The info here should be the same for 7.1a versions of TrueCrypt and VeraCrypt.

 

I have a MacBook Pro so I hooked up the drive using a USB 2.0 to SATA/IDE Cable (which are very handy BTW) and mounted it in Parallels Desktop with Windows XP by selecting the USB ATA Bridge under the Devices->USB menu. I loaded up TrueCrypt in XP and mounted the drive. You have to make sure to mount the drive with “mount partition using system encryption without pre-boot authentication” selected under options. I forgot to do this and got frustrated, but after a quick google I figured that part out. Here is where that is:

truecrypt-mount-without-pre-authentication

Once the volume was mounted under windows TrueCrypt noticed the volume had not been unmounted correctly and asked me if I wanted to ChkDsk the drive. I said yes as this is exactly what I wanted to do! It found a couple problems and ChkDsk stopped. I then ran ChkDsk 2 more times till it ran with no errors.

I now have a bootable TrueCrypt system volume again and best of all my client will be happy she can get access to her files!

Syncing Keyboard Shortcuts from one iOS to another using ssh (needs jailbreak)

!!DISCLAIMER!! This process could potentially brick your phone if done improperly. Follow these steps at your own risk.


I have created many keyboard shortcuts on my iPhone 4S after learning about the new feature for iOS 5. They make filling out forms and logging into sites so much easier when you can type eml instead of your full email address. You can check out how to setup keyboard shortcuts in iOS at lifehacker or by seaching google for iOS keyboard shortcuts. Many good resources are out there. However the problem that I found myself with was also using my iPad for signing in and other tasks that required filling in forms. I googled around and could not find any methods of copying shortcuts from my iPhone to my iPad other than to restore the iPad from the iPhones backup. Less than an ideal solution. So I have come up with a way that depends on both devices being jailbroken. Since iOS 5.0.1 has recently been jailbroken I downloaded and applied Absinthe on my 4S and redsn0w on my original iPad. I installed openssh on both devices and copied my Keyboard info from one device to the other (remember to change the root and mobile user passwords if you install openssh!)

Here are the full steps I took for getting all my shortcuts assuming both devices are jailbroken:

  • Make an iTunes backup of each device in case something goes wrong!
  • Install openssh on both iOS devices using Cydia (check out the “OpenSSH Access How-To” on the ront page of the Cydia app)
  • ssh in to each device and change the password of root and mobile
  • ssh copy to the device that has all your keyboard shortcuts and copy the contents of /User/Library/Keyboard to your PC or Mac (ie ssh mobile@192.168.0.5:/User/Library/Keyboard ~/Desktop/keyboardshortcuts/)
  • ssh the contents of the /User/Library/Keyboard directory from your Mac or PC to the device you want the keyboard shortcuts copied to (ie ssh ~/Desktop/keyboardshortcuts/* mobile@192.168.0.6:/User/Library/Keyboard/) the dynamic-text.dat is optional
  • Reboot the device you just copied the Keyboard contents to.
  • Enjoy your awesome keyboard shortcuts!

If you know ssh well you could technically copy from one device to another directly, but I liked the idea of having a backup of all my shortcuts on my Mac.

This is the way I came up with. I would love for Apple to support this feature with iCloud or some other method of keeping them in sync. For now this will do even though it involves jailbreaking. Anyone else have an idea of how to do this differently?

Nerd info:
– I checked the contents of dynamic-text.dat and it doesn’t need to be copied
– The contents of UserDictionary.sqlite is what creates UserDictionaryWordKeyPairs.plist as just copying over UserDictionaryWordKeyPairs.plist does not do the job. I checked with sqlite command line the UserDictionary.sqlite file and it looks to only contain the keyboard shortcut data. Thus I feel this is a safe hack and shouldn’t mess up anything.
– I used mobile user above since the original files were owned by mobile and copied via root could mess up permissions.

Adding pdftk to 1and1 shared hosting

UPDATE 2010-09-03: I updated a couple links to reflect newer downloads. Because 1and1 shared hosting is on an older debian (etch) system I had to tweak the steps for using lenny based packages. ENJOY!

There are some cases where you might need a powerful pdf toolkit to use with php. 1and1 does not come with any built in pdf processors or pdf libraries built into php. Here is the process I used to integrate phptk into my 1and1 shared hosting account.

Requirements: 1and1 shared plan that has ssh support

– Download pdftk deb file for debian lenny:

wget http://ftp.us.debian.org/debian/pool/main/p/pdftk/pdftk_1.41-3_i386.deb

– Extract the pdftk deb file:

ar xv pdftk_1.41-3_i386.deb

– Extract the data.tar.gz file:

tar xvzf data.tar.gz

– Download libgcj deb file for debian lenny:

wget http://ftp.us.debian.org/debian/pool/main/g/gcj-4.2/libgcj8-1_4.2.4-4_i386.deb

– Extract the libgcj deb file:

ar xv libgcj7-0_4.1.1-20_i386.deb

– Extract the data.tar.gz file:

tar xvzf data.tar.gz

– Download libstdc++ deb file for debian lenny (backport file http://packages.debian.org/lenny-backports/i386/libstdc++6/download):

wget http://mirror.linux.org.au/backports.org/pool/main/g/gcc-4.3/libstdc++6_4.3.4-6~bpo50+1_i386.deb

– Extract the libstdc++6 deb file:

ar xv libstdc++6_4.3.4-6~bpo50+1_i386.deb

– Extract the data.tar.gz file:

tar xvzf data.tar.gz

– Create a script to link libgcj and libstdc++6 for pdftk (use nano or vi):

#!/bin/bash

LD_LIBRARY_PATH="usr/lib:$LD_LIBRARY_PATH" usr/bin/pdftk $*

– Chmod the pdftk script so it can run:

chmod 755 pdftk

Now you can run pdftk from your main directory and process files from php or cronjobs.

If you run into any problems try running the pdftk command with some test files. If you have any problems please leave a comment. Thanks!

1&1 tightens up Email spam rules

I use 1and1 for my personal and business websites as well as for our clients. We’ve had a client recently that was not receiving emails from one of their colleagues and of course the other company’s IT person said it was our problem. Having been an email administrator for many years I always like to look into the bounced back messages, smtp connection info, email headers, and more to track down a problem. This particular issue was perplexing because there where not many posts on the net about it. When someone was trying to send an email to a domain hosted at 1and1 it sent this error after the RCPT TO line:

421 invalid sender domain, possibly misconfigured

I tested at http://www.wormly.com/test_smtp_server (which is a great site btw) to get test the error.

So I sent an email to 1and1 support to see if they could help. This was the very speedy response:

The circumstances you have just described is caused by a RFC-non-compliant configuration of the despatcher-domain. The MX-Server
of the domain has no registered A-record, but merely a CNAME-record this is why the e-mail is rejected by our e-mail servers.

You can find some general information about this topic here:

http://www.faqs.org/rfcs/rfc2181.html

To provide the e-mail delivery as fast as possible again, we kindly advise you to inscribe the target domain of the CNAME-record as MX-record. For further information, please contact the provider of the despatcher-domain.

Looks like the 1and1 is blocking any non RFC compliant domains. In the rfc spec above it says:

10.3. MX and NS records

The domain name used as the value of a NS resource record, or part of
the value of a MX resource record must not be an alias.

Additional section processing does not include CNAME records, let alone the address records that may be associated with the canonical name derived from the alias.

So if you are a DNS admin or setup DNS for clients make sure to have the MX record for your domains be A records (they directly resolve to an ip) not CNAME records. So far I have had to email a couple of hosting companies related to this issue. I applaud 1and1 for locking down their email servers even more to thwart spam, but it would have been nice to have had a link or faq on their site explaining what was going on. Thus the reason for this lengthy blog post.

Some other posts on the web about this issues:

Useful links to test out DNS and MX records: