Welcome to 2017

We know we haven’t blogged in a while. I have decided to bring back my old domain and start blogging there – blog.sherwinm.com. All tech related posts will be there. I have decided to keep the old posts here. That’s one of the reasons I, myself, haven’t posted anything.

Abby and I also opened up our own pharmacy – A1 Care Pharmacy. She was trying to look for a job but came up empty. We decided to create a job for herself and others. We opened in May 2015. There have been speed bumps like with many ventures, but we are excited and proud to have our own business. I sometimes spend time and help out. It’s fun because I get to meet our customers and spend time chatting with them. I used to work in retail and getting to know customers was something I missed.

I’ve recently moved hosting and you may noticed that the new URL is https://blog.abbyandwin.net instead of https://abbyandwin.net/blog. I apologize for the inconvenience but please update any bookmarks you have. They should continue to work if you just move blog from the end to the beginning of the URL.

I’m not sure how often we’ll be blogging on this site but we’ll keep it running. It has been running since 2006 and we’ve posted quite few entries. We will still be monitoring for new comments and reply accordingly. For those looking for new tech topics, remember to go to my other website, https://blog.sherwinm.com.

Happy New Year everyone.

Windows 10 Upgrade Errors

Microsoft has finally released Windows 10 on July 29, 2015. I took part in the tech preview and was impressed by how the new operating system looked and felt. Even though I was running the beta for several months on a VM, I was excited that the final release is finally available for download for current Windows 7 and 8 users. That excitement however, quickly turned into frustration.

What I wanted to do was upgrade my machines running Windows 8.1 to Windows 10. Then do a clean install. In order to do this, you would have to upgrade to Windows 10 and wait for the activated confirmation message. Once you see this, you should be able to do a clean install and it will automatically activate afterwards. The upgrade process already gave me issues.

Everything was going well during the upgrade but during the reboot I get the following error.

second boot error

Second Boot error

I’ve tried different things, even disabling the AVG 2015 antivirus (which I read some people having issues with). I also started uninstall software that I feel may have compatibility issues with Windows 10. Still no luck. Finally, I decided to uninstall AVG and it looks like that was the culprit.

I didn’t get a chance to take photos of the settings part when it asks after upgrading but it’s something I’d like to mention. There are many settings that you should pay attention to regarding privacy. Here’s some photos I took when I was upgrading my HP Stream 7 tablet.

express settings

Click on Customize Settings to view and change.

customized settings

Customize the default settings

After running Windows update and restarting Windows 10, I checked the Windows activation status and it said it was activated. I felt confident that the troubles are over and I now can do a clean install. The process went fine but now I have more issues, this time regarding activation. I now get the following error with activation.

Error code: 0xC004C003

blocked key

Blocked key

If you run the following command, it’ll bring up the screen to call Microsoft and display the installation ID, which should then give you an activation code.


Select your country and it will give you the phone number to call. You will have to provide your installation ID which should generate a confirmation ID that is similarly long.

I ended up speaking with something and they told me that the blocked key error is a bit misleading. He said that the activation server cannot handle all the requests so it’s blocking people out. It’s not necessarily mean you have a bad copy of Windows and it won’t allow you to activate. They recommend to continue to wait and it will activate. I also found this thread to be a little helpful in terms of what others are experiencing – [http://answers.microsoft.com/en-us/windows/forum/windows_10-windows_install/error-code-0xc004c003-on-clean-reinstall-of/834e0c2d-6229-4258-8038-3e209b745242](http://answers.microsoft.com/en-us/windows/forum/windows_10-windows_install/error-code-0xc004c003-on-clean-reinstall-of/834e0c2d-6229-4258-8038-3e209b745242).

So I guess I’ll have to wait. Back to the AVG 2015 antivirus. Once I stabilized Windows 10, I installed it again and it ran fine. It should, since they said it was fully compatible. From what I heard, the reason why it could affect upgrades is AVG can sometimes lock files and prevent the upgrade process from upgrading them. So it’s best to uninstall it and reinstall once everything is finished.

Finally, I want to share an error I got with a Dell T3600 workstation I upgraded to Windows 10. This error occurs after I used the Reset This PC. I chose to delete all the files and applications. During the final reboot, I get this error. It will just keep restarting and never fix itself.

inaccessible boot device

Inaccessible boot device

Looks like I’ll have to do a clean install on this one as well.

I’ve talked to a few friends who upgraded to Windows 10 and not have any issues. For some reason, I attract these kinds of issues. I hope Microsoft can improve on the upgrade process. So far though, Windows 10 has been a treat. I guess anything is better than Windows 8 – it’s not too bad, but this has been a better user experience (except for the upgrade process).

Verizon Moto E 2015 PrePaid

Motorola released the second generation of their Moto E in 2015. I was curious about this device because of its near-stock Android experience. Best Buy has this phone in its prepaid flavor for $69. I thought I would give it a try. The Verizon store also has the device but they will not sell it to you unless you activate it before leaving the store.


The package is simple, nothing fancy. The phone is enclosed in plastic. It comes with a sim card and wall charger. It also comes with a manual and information about the radio frequency. Two things right off the bat I had a hard time with. The first is taking off the plastic screen protector advertises some of the phone’s feature. A trick you can do is peel it from the top where the speaker is. If you try to peel from the bottom left as it suggest, you will have a difficult time. The second is removing the plastic band was a little tricky. Once you remove it though, you will find the sim card slot and the micro SD card slot.


Box contents


For the price, the phone is a good deal. It has a Snapdragon 400 quad core processor running at 1.2GHz with 1GB of ram. You shouldn’t have issues with basic gaming. It comes with 8GB of storage but approximately 5GB of that is useable. With the microSD slot you can add an additional 32GB of storage. It has a 4.5″ qHD (960×540) with Gorilla Glass 3 display. It also has Bluetooth 4.0 and NFC support.


You get near-stock Android experience. As of May 2015, you get Android Lollipop 5.0.2. Motorola has announced an update to 5.1 soon to be available as an OTA. The latest is 5.1.1, but at least you have a newer version than many expensive flagship phones out there. There are some Motorola apps preinstalled as well as some from Verizon. You can disable them but they still use up storage resources. Based on my searching, this model (XT1528) has a locked bootloader. Hopefully in the future it changes. The phone is also locked to Verizon even though most of the LTE smart phones come unlocked.


The phone comes with a 5MP camera and 0.3MP front-facing camera. I have taken some shots indoors and the outcome is not that great. At full view, it’s a bit grainy. I’m not sure if I’m just used to view photos taken at higher resolution or I had higher expectations on the camera.


4.9MP | 2560×1920 | 551KB | f/2.2 | 1/19 | 2.471mm | ISO640


4.9MP | 2560×1920 | 508.4KB | f/2.2 | 1/30 | 2.471mm | ISO640

The video can capture up to 720p at 30fps.


The phone is affordable and the specs are reasonable for the price. On top of that, I was able to activate as a postpaid device – without waiting for the 6 month period. I just called customer service and provided the IMEI and SIM number.

Is Your Website and Mobile Devices BFF?

As a web developer for many years, one of the most important things I focus on is accessibility. It is crucial for your visitors to be able to access your website regardless of what device they are using. Before mobile devices, the big question with compatibility involved browsers – in particular, Internet Explorer. Eventually, I dropped support for users using IE8 or older. Actually, I don’t support IE anymore – as in, I don’t test my website on IE. If you check browser trends, IE market shares are declining even if Windows is still the “popular” OS. Here’s a nice page that show trends for several years – http://www.w3schools.com/browsers/browsers_stats.asp.

As of late, mobile device internet usage is increasing – http://gs.statcounter.com/press/mobile-internet-usage-soars-by-67-perc. What does this mean? Well, if your website isn’t mobile friendly, users may not want to visit your website when they’re on their mobile devices. People want a great experience, they want ease of use. This is how Google is ranking mobile search results. If in the past your website ranks high in search results, your ranking may be different in mobile search result ranking if Google considers your website not mobile friendly. Starting April 21, 2015, http://googlewebmastercentral.blogspot.com/2015/04/rolling-out-mobile-friendly-update.html. If you are unsure how this will affect your website, you can test to see if it is mobile friendly at https://www.google.com/webmasters/tools/mobile-friendly/. It will scan a web page to see if it is mobile friendly.

So how would you go about improving your website to be more mobile friendly? There are a couple of ways to address this.

1. You can leave your website as is and create a version for mobile devices. What you can do is have code that detects the viewport of the device and have them redirect to your mobile version of the website if it’s necessary. So you’ll have something like domain.com for desktop users and m.domain.com for mobile.
2. You can do adaptive design. How this works is your website will have several different layouts that address different devices. If it detects a desktop is being used, it will use the layout for desktop. If it’s mobile, then the mobile layout will be used.
3. Responsive web design. This is the approach I personally prefer. You pretty much design with mobile first intention. This blog uses responsive web design and has been mobile friendly for quite some time.

I am not a great designer, but I am better at development. A great help to achieve responsive web design is Bootstrap. It is free and open source. If you haven’t heard about it, you should check it out. There is also Foundation. You don’t have to use these tools but it can help you save time on development or you can use the techniques as reference and roll out your own.

The most important thing to get out of this is to improve online experience regardless of the device you are using. Otherwise, people may not visit your site or stop going to your site.

SSL now enabled

I have been trying to figure out how to implement SSL with websites hosted on Amazon S3 for a few weeks now. Finally, I think I figured it out. Well the first challenge was getting Cloudfront to work with my S3 bucket. What was causing it to fail is selecting the wrong Origin Domain Name when creating a new distribution. When you click on the text box, Amazon lists recognized S3 buckets. Do not pick from the list. Instead, copy and paste the endpoint URL found in the properties of the bucket.

Once I started to see data when I generated reports in Cloudfront, I knew I did it right this time. The next step is get the SSL certificate in Amazon IAM. Once you upload it, it will be available in the dropdown list in Cloudfront to be selected. It’s a long and tedious process with some trial and error, but I think it’s worth it to increase browsing security for the website.

A couple of things that I’m still working on are:

  • Ensure Disqus comments are not broken. If you are having issues, please let me know.
  • Some assets from insecure websites may not display – such as images, styling, and javascript. I’ve ran a few test and aside from little things, it doesn’t affect the accessibility of the website. I will continue to find alternatives and solutions.

Why implement SSL?

  1. The main reason why we implemented it is to allow a secure connection from your browser to our website. There are many companies out there secretly injecting tracking scripts to its customers/users. Why? Well, to make money off you, of course. I’m hoping to reduce the effectiveness of such practices. http://arstechnica.com/security/2014/10/verizon-wireless-injects-identifiers-link-its-users-to-web-requests/
  2. Google plans to increase search result ranking for websites using HTTPS. http://arstechnica.com/security/2014/08/in-major-shift-google-boosts-search-rankings-of-https-protected-sites/
  3. I was curious about how it works and its implementation so I decided to do it on our own website.