How to remove extra Keyboard from Windows 10 – Language list

To fix this issue, delete the Preload registry folder and restart (or sign out) the computer:

HKEY_USERS.DEFAULT\Keyboard Layout\Preload

This folder seems to be some legacy remnant that contains non-user-specified keyboard layouts to be added to the list of languages when the user signs in. While the fix itself works through restarts, there’s a few things that seem to bring back this folder

To automate the procedure create a txt file and paste the contents below.

Windows Registry Editor Version 5.00

[-HKEY_USERS\.DEFAULT\Keyboard Layout\Preload]

You can then save the file with .reg extension and run it if registry folder comes back.  You need to logout or restart for changes to take effect.

Tip: From notepad use quotes like to “RemoveLang.reg” to save with new file extension.

Single page application SEO Optimizations

Client side rendered sites as is are not fully compatible with SEO standards before JS framework burst of technologies came out.  In 2009 there was a AJAX crawling scheme that google provided to developers. As cited here there no support and is currently deprecated.

Here is the deal. Modern JS Frameworks such as React, Angular, Ember, Vue, Aurelia have mixed support on crawling techniques. Some very promising frameworks are losing ground in popularity caused on lack of support on all aspects of web content delivery. Promising web developing heaven is not as easy as it looks in single hello world demonstration. Markets depended in web marketing are bound to server side scripting languages.

There are some solutions for web crawlers to be able to render and get information from you single applications but most of them require extra work.

A valuable  link on crawling settings “Robots meta tag and X-Robots-Tag HTTP header specifications

1 solution

Use a pre-render and serve html content of your pages with your own service. Note that not all js frameworks provide this functionality. Angular and Angular2 are the only fully supported pre-rendering engines.
You could actually use a robust caching service by rendering all your pages with a server-side js framework like PhantomJS and storing the html output to serve when requested to bots. The actual caveats here are that the output is not guaranteed to be same as the browser results. Also you add an overhead of refreshing the static content to the deployment procedure.

2nd Solution

Use Prerender.io, BromBone, Snapsearch hosted services and then you can easily redirect your pages accordingly to the service url when spotting that there is a crawler that is indexing your page.

3rd solution

Do nothing. It’s kinda vague to say that google now crawls SPA websites.  There was a special tag providing the context that this page uses # url redirection.

Previously adding
<meta name=”fragment” content=”!”/>
This meta tag actually transformed your url as follows
https://yoursite.com/#/contact to
https://yoursite.com/?_escaped_fragment_/contact.html

Assuming that google crawls content after # now you can cross your fingers that crawlers (not just google) will get more mature in the future. Try explaining that to marketing department.

4th solution

Use the href attribute value to go to the static page (or pre-rendering service) and use the onclick for actual users. Quickly provided as bellow
<a href=”/contact.html” onclick=”window.location=/#/contact; return false;” />
Provided that you have a prerenderer or a prerender service setup.

SEO and Javascript: New Challenges
SEO for AngularJS and other Javascript Frameworks

Cocoapods after El Capitan installation

After updating to El Capitan I stumbled upon an serious issue. I couldn’t update pods on my projects. Pod command could not be found. I had find a way to re-install cocoapods.

Simple solution. Go to terminal and run the following command

sudo gem install -n /usr/local/bin cocoapods

Original command gem install
sudo gem install cocoapods was not working cause of writing permissions.

Enable AHCI after installing Windows

I windows installed on an SSD with IDE option on BIOS. After changing to AHCI bios setting I windows was popping a BSOD.  The solution seemed really simple.

Before changing the value in BIOS i had to edit the mode. Open command prompt with administrative rights.  Run this command.

bcdedit /set {current} safeboot minimal

Reboot, change the bios entry,  start Windows and run this command (as administrator)

bcdedit /deletevalue {current} safeboot

Then reboot again.

In general, AHCI mode is faster than IDE emu mode. It allows for things like NCQ (native command queuing) and hotplug for SATA. System feels more responsive and smooth. This solution is tested and works on Windows 7, 8, 8.1

Also remember to check if TRIM is supported on your SSD.  While Windows is designed to automatically detect most SSDs, sometimes  it doesn’t work as intended. If you find the performance of your SSD is degrading (or just want to make sure TRIM is properly enabled), run this command (as administrator):

fsutil behavior query DisableDeleteNotify

It will give you one of two results, either a 0 or a 1. A zero indicates that TRIM is enabled correctly, a one means that it is not.

You can now enable TRIM with the following command.

fsutil behavior set DisableDeleteNotify 0

Or disable TRIM as follows

fsutil behavior set DisableDeleteNotify 1

OS X 10.9 Mavericks Workaround for SMB

Upgrading is never easy. There is always some new bug introduced as a feature. That said, you may have noticed that connecting to NAS shares worked perfectly in OS X 10.8.x but doesn’t anymore in OS X 10.9 (Mavericks). Here’s the lowdown:

DISCLAIMER: Though these are pretty harmless changes, any changes you make are at your own risk.

Continue reading OS X 10.9 Mavericks Workaround for SMB

Move itunes backup folder

Having a small SSD disk for your operating system seems a bad practice to perform iTunes backup on the default directory path. You can’t  change backup folder from itunes so this is a solution a found to keep my system disk with lots of space. (actually gained ~50GB of space).

 Fisrt find that back up locations:

goto

C:\Users\XXX\AppData\Roaming\Apple Computer\MobileSync

(replace XX with your user account name)
This path may change on different operating systems. (currently displaying path for Windows 8.1)

Secondly choose another disk with lots of free space. (e.x. E:\)

Move contents of

C:\Users\XXX\AppData\Roaming\Apple Computer\MobileSync\Backup

to a new folder.
Go on directory up and delete backup folder.

Lastly run this handy command.

mklink /d Backup "d:\backupItunes\"

This way you create a symbolic link, something like a virtual directory to the new path.

Hosting providers Odyssey….

digitalocean
digital ocean

Been there done that. After using 10 different hosting provider over the past 10 years now. I decided to do a step forward to a more flexible and up-gradable solution. I search for a cloud based hosting provider. For windows solutions the licencing was going to rise the cost anyway, so i decided to go unix all the way. Google’s Adsense cached my recent search and I accidentally stumbled upon Digital Ocean.

I managed to deploy an cloud server in less than 1 minute with a dedicated IP and root SSH access. And for the cost of just 5 buck / month. Crazy prize for the SSD performance servers. The good thing about this, is the speed, you can use swap files to enlarge the RAM of your server, and still have a good performance. I found some performances test here. Digital Ocean also has a good support library.

Because the pricing structure Digital Ocean is offering, and if they do not oversell their server, I think they are here to stay. This blog is also hosted there.

This computer is not running genuine windows 0x8004fe21

windows activation

This solution is the only one worked for me… restoring windows to an earlier point did not work for me. So try the following

1) Click Start button.
2) Type: CMD.exe into the ‘Search programs and files’ field
3) Right-Click on CMD.exe and select Run as Administrator
4) Type: net stop sppsvc (It may ask you if you are sure, select yes)
Note: the Software Protection service may not be running, this is ok.
5) Type: cd %windir%\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform
6) Type: rename tokens.dat tokens.bar
7) Type: cd %windir%\system32
8) Type: net start sppsvc
9) Type: slui.exe
10) After a couple of seconds Windows Activation dialog will appear. You may be asked to re-activate and/or re-enter your product key or Activation may occur automatically.

IT collaboration, Tutorials, Tips