Not The Wizard

Oz Solomon's Blog

Category: Uncategorized

When Outlook Doesn’t Archive Everything It Should

If you’ve ever used Outlook’s archiving feature, you may have noticed that a lot of emails that should have been archived are left behind.  For example, you tell it to archive anything older than Dec 31, 2014, yet emails older than that still remain in the original folder.

The reason for this is that Outlook’s default behavior is to archive based on the “Last Modified” date, which means that if you made any sort of modification to the email after the specified archive date then email won’t be archived.  What’s a modification?  It could be something as simple adding or removing a flag.  Supposedly some anti-virus apps also cause this date to change.

I think everyone’s intuitive understanding of the way archiving should work, is that the mail is archived depending on when you got/sent it, no matter what you did with it afterward.  Luckily, you can tell Outlook to use this more intuitive method by adding a simple entry to your registry.

The registry setting is called ArchiveIgnoreLastModifiedTime, and it’s registry location depends on the version of Outlook you’re using.

For Outlook 2007, please follow Knowledge Base article 2500686.  Make sure you have at least SP3 installed.

For Outlook 2010 or 2013, please follow Knowledge Base article 2553550.

Solving Win10 C1900101-20017 Upgrade Error + A Mini Review of Microsoft Support

tl;dr 1 – C1900101-20017 means that the Windows 10 setup encountered an error on the first reboot and also means you’re screwed but read below for some hope.

tl;dr 2 – I reached out to Microsoft Support for help with this error and I give their first level support a B and second level support a big fat F.   Either way they didn’t help.

 

You’re reading article this because you tried to upgrade your system to Windows 10 after a while it booted back to your old version of Windows and greeted you with the cryptic error code C1900101-20017:

C1900101-20017

Or maybe you were luckier and got this ever-so-descriptive 0xC1900101 – 0x20017 version of the error:

0xC1900101 - 0x20017

 

Explanation of the Problem

The error presented to us is “The installation failed in the SAFE_OS phase with an error during BOOT operation” and what it means in plain English is that the Windows 10 installer was in the middle of installing Windows 10, and it needed to reboot.  But something wrong happened during the boot (for example, a driver crash leading to a Blue Screen of Death).   Because the boot was unsuccessful, the Windows 10 installer terminated and returned your computer back to the version of Windows you had before.

The good news: At no point is your computer bricked.  I’m thankful for Microsoft for ensuring that, even though I’m annoyed with their other decisions (see below) at the same time.

Why Does this Problem Happen?

Microsoft support would have you believe that this is because you have some faulty hardware.  I strongly disagree.  99%+ of the time it’s a simple matter of a software bug.  Typically, the driver that ships with Windows 10 has a bug in it, or the driver that you have installed currently on your system has some compatibility problem with Windows 10.

A hardware problem is a possibility (slim, but possible).  For example, you may have a bad memory chip and Windows 10 just happens to put some critical piece of code at that faulty memory location triggering the problem.

Another reason to believe that this is usually a software – not a hardware – issue, is Microsoft Support’s insistence that I reformat/reinstall my computer.  “In their experience” it almost always fixes the problem.  Well guys, if reinstalling solves the problem, then it’s not hardware.

So How do I fix it?

The big problem is that Microsoft gives us no tools to figure out what exactly went wrong.  Ideally there would be some sort of log file listing which driver was the last to initialize so we could guess what’s causing the problem, but there isn’t.  At least, I couldn’t find such a thing at the typical setup log location ($windows.~bt\Sources\Panther).

That leaves you with the dubious pleasure of narrowing down the culprit using trial and error.

Step 1: Remove/Disable devices

** Before you start ** you should create a Restore Point so you can undo any damage you may do along the way.  If you don’t know how to create a Restore Point then this guide isn’t for you.

The Microsoft support article which mentions this error computer recommends unplugging all your USB devices.  I would take it a step further and unplug everything that you can, even internally.  For example, if you have both an embedded and a dedicated video, remove the dedicated card and use the video card on your motherboard.  At least until you can rule out your video card.

You should also open the device manager and go through the list.  See a driver for a long-ago junked printer?  Delete it.  Clean up anything that seems out of place.  (Usual disclaimer: Deleting drivers can cause your computer not to function/boot.  See notice about about creating a restore point).

Step 2: Update Drivers

Make sure you’ve got the latest drivers for all your devices by downloading updated packages from the manufacturer websites.  Don’t forget drivers for built-in peripherals on your motherboard.  You should probably upgrade your BIOS to the latest.

Also Try: Install Windows 10 On Another HDD

Try reinstalling Win10 after doing Step 1 + Step 2.  But if that doesn’t help, try this.

Remove the hard drives from your computer and plug in an old/new HDD you have laying around (you do have one laying around, don’t you?).  Install Windows 10 on this hard drive using a Windows 10 DVD.

If the installation fails, hopefully you’ll get a better error before.  This is because there is no “old windows” for the installer to boot back too.  It will hopefully crash telling you what the culprit is.

In my case this installation succeeded which led me to eventually finding out the original culprit: The Intel RAID on my ASUS Sabertooth X58 simply doesn’t work at with Windows 10.  I have found many complaints on the web, but no solution.  My solution was to change the controller from RAID to AHCI mode and set up my RAID using Windows Storage Spaces.

Common Sources of The Problem

In researching this error, I found that many people we suffering from various instances of the problems listed below.  You may fall under one of these categories:

  • Broadcom WiFi drivers are known to cause problems during the upgrade.  This may no longer be an issue since Windows 1511 was released, but if you have Broadcom WiFi in your device, try Googling for solutions specific to Broadcom.
  • The Intel Rapid Storage Technology (RST) driver can cause problems.  This thread talks about a possible solution for motherboards with the X58 chipset.  As I mentioned previously, nothing worked for me other than changing the controller out of RAID mode.

If you had a different cause, please update me in the comments below and I’ll add to this list.

Regarding Microsoft Support

In my desperation I contacted Microsoft Support.  I assumed there was some magic log file they could look at to solve the problem.  I was greatly disappointed.

I started out using their chat service.  The first agent took over my computer and tried to do a few basic things which didn’t work out.  The next day I talked to another agent over the phone which tried a whole bunch of other things that also didn’t work.  We continued on and off for 4 days and still nothing worked.  Eventually I was asked, and was transferred to second level support.

I’d like to mention that I was impressed by the first levels support’s commitment.  Although it was obvious they were running oof a script and didn’t really know hot to help me specifically, they were tenacious.  They called me 3 times a day to see if my issue was resolved and to see if I wanted to keep diagnosing.  They stayed with me on the phone for hours while the Windows 10 was installing over and over and were genuinely trying to provide dedicated service.  All this for a product I’m not paying a cent for.  Contrast that with Google (AdWords) support where I had to call in 8 times over two weeks to have a trivial matter resolved.

So why do I give them just a B?  Mostly because it was obvious that most of their actions were a waste of time (e.g. clear out my temp folder and try to reinstall) as well as the fact that they did stupid things like leave my computer running without a firewall (not a problem for me but non-techies beware).  The fact that I had to take control of my computer back from them a few times when it was obvious I could complete their tasks faster and better didn’t help either.

Second level support, on the other hand, gets a big fat F.  The agent was arrogant and all he wanted to do was reformat my computer.  I had to argue with him that I already knew that it would work (as I had installed Win10 on a different HDD) and I was interested in finding the hardware/driver that was causing the incompatibility instead of wiping my system.  Eventually he agreed to look into it and put me on hold.  After a long wait on hold, the call was disconnected, and he never called back.  I gave up on them at that point.

So Long, and Thanks For All The Uptime

Today I’m shutting down one of our oldest servers, hosted on Softlayer. We’ll be transitioning from SoftLayer and Peer1 to our new VPS’s at Linode.

Both SoftLayer and Peer1 have been great to my company, as I have mentioned in the past, but Linode’s all SSD servers have an unbeatable price that just makes our old hardware too expensive to maintain by comparison.

It was a bit of a pain to consolidate 11 servers down to 3 (regretfully, part of the reason I can do this is that traffic isn’t what is used to be), and I learned a thing or two which I may share in a future post.  I’m hoping that Linode doesn’t disappoint.  Regardless, you can’t complain about the cost saving Moore’s Law dishes out on a regular basis!

 

 

How to Destroy Your Marketing Efficiency

What's wrong with this picture?

Last week I got an newsletter email from Future Shop promoting their latest sale.  (To my American readers – Future Shop is a brand of Best Buy stores in Canada).

Aside from the fact that half the images in the email didn’t load (a sure way in itself to destroy your marketing efficiency), I was more bothered by a much much more idiotic use of the email’s pixel space.

Come Back Daily For … Yeah Right

This newsletter had a format I’m sure you’re familiar with.  It boasted a “deal of the day” and hinted that I should come back daily, over the next 8 days to see what that day’s deal would be

How stupid can they be?

(I don’t mean to pick specifically on Future Shop.  Other companies do this too.  Dell’s 12 Days of Deals comes to mind immediately though I’m sure there are many others.)

I’m sure that like me, most people subscribed to their newsletters receive many emails every day.  The time we spend going over these emails is increasingly short.  That’s why marketers try to optimize open rates (how many people bother opening the email).  Get that?  They’re thrilled if you just opened it, because that’s a huge hurdle.  Then what do they do?  They waste their pixel on telling me to come back again tomorrow to open their email again.  They’re trying to create suspense and anticipation by hiding the next days’ deals, but they’re losing out because nobody cares enough to check again tomorrow.

A better way

Marketers, please pay attention: Instead of trying to create fake anticipation, I have a better plan for you.  In that newsletter, the one I actually bothered to open, tell me what’s going to be on sale every day.  Show me a little calendar view with a picture of a laptop today, a tablet tomorrow and some worthless anti-virus a week from Tuesday.

Now that I know what’s coming, I can mentally flag to come back to your site that day to check out the deal I’m actually interested in.  If you’re deal speaks to me, I’ll be sure to visit your site, even if it’s a few days from now.

Another offender

Lessons in Choosing Hosting Providers

We’ll make this right for you.

— Corinne Moore, our Peer1 Account Manager

Since I built Status Shuffle 4.5 years ago, I’ve used five different hosting providers to run the core application and three other providers for auxiliary servers.  My experiences ranged from truly horrible (as with Peak Web Hosting where we terminated service after 1 week) all the way to excellent.  On the Excellent corner we have Peer1 and SoftLayer.  Let me tell you why.

The Five Pillars of an Excellent Hosting Experience

When I started out, I had no money so cost was the #1 driving factor.  Low cost doesn’t necessarily mean lower value, just as higher cost doesn’t automatically mean better value.  In fact, I can say that over the year I’ve gotten damn good value for my money with various budget providers (and vice verse).  Nowadays I look for the best blend of the following:

  • Cost: Still important.  You don’t want to overpay, you want to pay just enough to maximize the next four.
  • Physical location: The physical location of the server matter for a variety of reasons:
    • Distance from your end users: The closer the server to your end users (as judged by millisecond latency) the better their experience is.  If you’re building a game server for people in Australia, then it better not be located in Florida.  Beyond the physical distance, your provider’s peering agreement can also mean a short route to users nearby and a long one.  I’ve seen traceroutes to smaller providers go from Toronto to Chicago and back just to hit servers that were 5 miles away from me.  Always test!
    • Distance from an API provider: If the purpose of your server is to work with an API, then the latency to the API provider really matters.  For example, if your server needs to make a lot of requests to Facebook, then you better be near Facebook’s servers.  If your server is part of Google real-time-bidding exchange, then you your best bet is the next rack over.
    • Distance from you: The closer the server is to you (latency wise), the better your personal experience is when you do “stuff” on your server.  I always like my stuff to be done faster.  But more importantly, if the server is close to you physically, you can do some of your own maintenance as opposed to relying on 3rd parties.  Those 3rd parties may be capable, but they don’t know your infrastructure nearly as well as you do.  Personally, knowing that I don’t have to get on a plane to access my mission critical servers helps me to sleep better at night.
  • Uptime: What percentage of the time are your servers working and reachable?  With one provider, it seemed like there was always something happening.  I knew things were really bad when I noticed that I knew their tech support number by heart.
  • Time-to-fix: When something goes wrong (eventually something always goes wrong), what’s their ability to diagnose and recover from the problem quickly?  And I don’t just mean network connectivity: If your servers are managed, the provider’s ability to upgrade/fix parts quickly and efficiently are a big part of the story.  I had one provider where uptime was great, but when the shit hit the fan, it really hit the fan.  It got to the point that if I needed upgrades to the server I was scared to death of prolonged downtime (and rightfully so).  That same provider at some point had a big power outage and it took them 36 hours to get my server online after power came back.  Adiós1.
  • Quality customer support: You server is down.  Customers are calling you every two seconds.  Your sales partners are chewing your ear off.  Everyone wants answers.  You want answers, damn it!  You call the support line, all nervous and panicked.  This is money time, and customer support can blow it in so many ways.  For example, they can:
    • Ask you to “file a ticket” and refuse to let you talk to the tech on the floor even though you have pertinent information knowing full well that ticket won’t be seen until everything is long over
    • Refuse to provide, or have no access to, any useful information about the state of things
    • Blame you first, investigate later
    • Call you in an attempt to save your business only after you call to terminate your hosting due to any of the above.  (Note to all service providers: Customer retention efforts are best when preventative, not post-mortem).

A Shout-out

I’ve lived through every negative example listed above, but never ever with the following two companies.  Here is that positive feedback I promised in the last post.

Peer1

I’ve used Peer1 for a long time.  I can only recall two times where the network became unavailable and in both cases it was resolved in under 10 minutes.  (Uptime: Check, Time-to-fix: Check).  A couple of years ago I wanted to move servers from LA to Toronto so they would be physically closer to our base of operation.  Luckily Peer1 is in both cities (Physical location: Check).  Pricing was reasonable (Check.  Though what’s up with the 1 year minimum commitment?  Please stop with BS).  But what really won me over was the customer service.

Peer1 shipped my servers from LA to Toronto.  When they arrived, I drove down to rack them.  I opened the boxes and to my horror I was staring at two dented servers.  Whoever packed them in LA did a horrible job, and although four servers were fine, two looked like they were hit on the side with a hammer.  The UPS looked like I dug it up from a dumpster.  I don’t need to tell you that servers don’t like getting smashed.

I literally froze, thinking about the time and money cost of replacing those servers.  Then I called my customer rep.  Now, there are many things she could have said.  99% of those things would have caused Peer1 to lose me as a customer for life.  But what did she say? “We’ll make this right for you.”  That’s it.  Pure and simple.  They fucked up, and they will fix it.  If anybody at Peer1’s reading this, you need to give Corinne a raise.  I’m still paying you thousands of dollars a month, you can use some of that.

Customer service: Check!

In the end the servers were miraculously fine, and Peer1 paid for the damaged UPS.

SoftLayer

I was referred to SoftLayer by a friend.  Like anything else in life, it’s easier to choose when you get a recommendation from someone you trust.  (If you’re evaluating a provider and don’t personally know anybody who’s using them, try searching Web Hosting Talk forums, but be prepared for negativity bias and obvious astroturfing).

As with Peer1, network uptime is pretty good, and recovery is very fast when there are problems.  Reaching technical support is easy and they are very friendly.

One nice surprise came during a hardware upgrade I scheduled for 4am.  I was trying to call tech support, but accidentally called the sales line.  And someone picked up.  At 4am on a weekend.  “So what?” you say.  I’ll tell you what: With every other managed hosting provider I worked with, when you’re having problems at 4am and need some sort of hardware change (e.g. more RAM, more hard disks) they may refuse to do the work until Sales come in on Monday and price it out.  I can still remember myself screaming “I’ll work out the fucking price with Sales on Monday just get the server working now!” at a previous provider and believe me it didn’t sound that nice when I was actually screaming it.  So obviously, I like the fact that SoftLayer has their act together.

To top it all off, the prices are great (through you do have to call in and negotiate), no minimum commitments (yey!) and they get you up and running super fast.  That 4am hardware upgrade didn’t cost me a cent, even though it involved a tech off-hours.  All servers have remove KVM built in which can be a life saver, and you don’t pay for traffic flowing to your server (only traffic flowing out).

Highly recommended.

 

——

1 In reality moving providers is a very painful task, involving a search for a new provider, migration planning and testing, setting up new servers and the possibility of downtime when moving.  So “adiós” not only means you’re leaving, it also means you’re screwed.

A Story About Positive Feedback

Let’s play a little social psychology guessing game, and see how well you do.

Imagine you have an app on Facebook where users can hit a Contact Us link and write you anything that’s on their mind.  Further imagine that you get between 7,000 and 10,000 such contact requests a year.

How many of those users do you think clicked on Contact Us to say something nice?

Before I tell you the answer, let me be clear that all the numbers are real.  Status Shuffle has a lot of users, and those users write us that much every year.  In fact, I’m surprised they don’t write us more given the sheer usage volume Status Shuffle has.

The Shocking Truth

The answer is one.  One person a year writing something nice.  That’s less than 0.02% of contacts.  That’s a statistical anomaly.  We actually got one last week, and I can’t even remember the last time it happened before that.

When positive feedback arrives at our inbox, it’s such a celebration that it immediately gets bubbled up he same escalation path reserved for those OMG-we’re-down-and-the-whole-company-needs-to-know tickets.  And I doubt our users or product are unique.  I remember the same exact thing happening at a previous employer.

It’s All About the Effort

I don’t think people lack positive feelings about products they use, but it’s as though it’s not worth the effort to go out of one’s way to say so.

Point at hand: As soon as we got the aforementioned nice email, I posted it on our Facebook page and quickly got 5,000 likes and many positive comments.  Thumbs up is easy, so people do it.

Interestingly, inside Status Shuffle users are given the opportunity to thumbs up or down content.  It’s the same amount of effort.  We consistently see 10 thumbs up for every thumb down.  So given equal feedback mechanisms, both effortless, people tend to be positive.

Why are people are more inclined to contact you in order to complain? Maybe it’s because we get nothing in return for just saying something nice, but if we complain we have a vested interest: We might get the company to change it’s product.  I’m sure this guy or his friends have research about this.

What Have We Learned?

Wouldn’t it be nice if right about now I had an actionable recommendation for you?  Well, I have two.  The first is a bit weak and the second you won’t like.

My first advice is to make it as frictionless as possible for your customers to show their love for you.  It may be as simple as popping up a single question dialog: Do you love us?  Yes?  No?  Aggregate the result and share with your team.  Hopefully they’ll smile at the results.

My second advice is to go out and spread the love.  Your love.  When was the last time you wrote a nice blog post about a positive experience?  When was the last time you left a nice review for a restaurant you frequent or a book you enjoyed?  We all need to help the world lose the negativity bias.

As for myself, I’m as guilty as anyone1.  That, I’m going to fix with the next post.

 

1 In fact, I plan to use this very blog as a platform to complain and rant about many things.

© 2018 Not The Wizard

Theme by Anders NorenUp ↑