Category Archives: windows

Solved: cURL error 60 with Sheets API access from Windows

Broken_Lock_CurlIt turns out that my Google Sheets API instructions don’t work right away on Windows.  People running WAMP or XAMPP have been reporting “cURL error 60: SSL certificate problem: unable to get local issuer certificate”.

For some reason, cURL on Windows doesn’t come with a certificate bundle, so it can’t verify Google’s certificate to establish a TLS/SSL connection.  There are many articles out there making it sound really simple — just

  1. download a cacert.pem file
  2. add a line to your php.ini file: “curl.cainfo = path to cacert file

But it took me hours to work out the details.  First, the cacert.pem file that most people point you to (at didn’t work for me.  After a while, I found that the cacert.pem from Shane Stebner at made all the difference.  I haven’t figured out why.

Second, note that there are at least two files on your system:  one for running php from the command line (mine is C:\wamp\bin\php\php5.5.12\php.ini), and another for when php is called by Apache (for me, that’s C:\wamp\bin\apache\apache2.4.9\bin\php.ini).  Since I’m running php from the command line, I only edited the first one.

I saved the cacert.pem file in c:\wamp and added this to my php.ini: curl.cainfo = c:\wamp\cacert.pem.  It didn’t matter which kind of slashes I used.

Hope this helps a few people start accessing Google Sheets with PHP!

Solved: How to Map a Drive from Windows 10 to OS X 10.10.5 Yosemite Server

local-security-policyWe have an increasing number of Windows 10 machines in our office, and realized that we couldn’t get them to connect to shares on our OS X 10.10.5 (Yosemite) server.  We have a bunch of Local Network Users, and had no problem connecting as them from Windows 7 machines.  But Windows 10 machines would just pop up the authentication dialog again with the message “The specified network password is not correct”.

I tried all of the Local Security Policy changes that people have mentioned on the ‘net, and nothing worked.  I finally came across somebody mentioning that you have to put the server NetBIOS Name in ALL CAPS when you authenticate.  So, in our case, we needed to make one Local Security Policy change on the Windows 10 clients and put the server name in all caps when authenticating.

Details below:
Continue reading

Solved: Vostro 3550 black screen with Windows 10

vostro-3550A friend brought over his Dell Vostro 3550 that he’d just upgraded to Windows 10.

After the upgrade, the machine would show the spinning dots of the Windows 10 boot, but then go to a black screen before the login screen showed up.  External displays worked fine, but some exploration with an external display showed that Windows 10 didn’t think there was any other display besides the external monitor.

It turns out that Dell fixed something in a recent BIOS update.  This machine was on A09, and Dell has A12 on their support site.

I had also updated the Intel HD 3000 video driver from Intel’s site, so that might also be required.  But I suspect that I didn’t need to do that.

Solved: “ORA-28001: the password has expired” on Windows 8.1

odbc-errorWhile working with the development version of a document library that uses Oracle for storage on a Windows 8.1 laptop, we ran into the error “ODBC error: [Oracle][ODBC][Ora]ORA-28001: the password has expired”.

It turns out that up until Oracle 10, the default password policy was no password expiration.  Starting with Oracle 11, there is a default password lifetime of 180 days.

Here are the steps we took to fix it:

1. Get DBA privileges

Assuming you’re logged into Windows as “joe”, check if you’re in the “ora_dba” group by running cmd.exe and issuing the command “net user joe”.  You’ll see a list of local groups that you belong to near the end of the output.  If you don’t know who you’re logged in as, try “whoami”.

If you’re not in the ora_dba group, you can add yourself with the Local Users and Groups tool in Computer Management.  Except that tool is gone in Windows 8.1.  Very frustrating!  In that case, issue the command “net localgroup ora_dba joe /add”.

2. Set the password lifetime to unlimited

Now you can change the password lifetime with this series of commands:

sqlplus /nolog
connect / as sysdba

3. Change Oracle user passwords

You may or may not need to change the password of Oracle users on your system.

From the sqlplus prompt, use the following command (use double quotes around the new password and replace the username “system” as needed):

ALTER USER system IDENTIFIED BY “new_password”;

Hope this helps some people!

Outlook 2010 Out of Office and Free/Busy Problems

Someone in our office was getting the error “the server is currently unavailable” when trying to change Out of Office settings, and also when trying to see other people’s free/busy information.

I have fixed this problem in the past by making sure that the dns zone for the primary email address has an SRV record that points to our client access servers (I think that’s the right term — I use the same hostname that we use for Outlook Web Access).  Here’s an overview of what goes into the SRV record.  If you have a user with the primary email address of, but your email server is, the SRV record goes into the zone and contains the following info:

   service: _autodiscover
   protocol: _tcp
   priority: 0
   weight: 0
   port: 443
   ttl: 14400

The situation in this case had an extra complication:  I did not have access to the dns server for  In this case, I used a quick and dirty workaround and set up an instance of dnsmasq on a linux server.  Dnsmasq is one of the few services where you can say “return a certain record for one host in, but forward all other requests to the real dns server for that domain”. I think you can also configure PowerDNS to do this. I put the following statement in the dnsmasq.conf and pointed the user’s laptop to the dnsmasq machine:,,443

It’s a kludge that only works when he’s in the office, but hopefully Outlook doesn’t need to reconfigure very often.

Using the Dell Recovery Partition on an Inspiron 1520

when “Repair System” doesn’t show up on the advanced boot options menu

Vista repair

I was asked to put an Inspiron 1520 back to factory condition for resale, and there was a catch: no OS disk was available, and XP had been installed over the original Vista Home Premium, so there was no way to access the Recovery partition.  The good news was that the Recovery partition was there.

Big thanks to Dan Goodell and his instructions at !  By borrowing a Vista install DVD and following his careful instructions, I was able to access the Recovery Partition and expand the system image found there.

For my purposes, I had to add two extra steps:

  1. The imagex step writes all the necessary files to the main partition, but it doesn’t remove any personal data from that partition.  You need to use other utilities to wipe the partition first.
  2. After the rebuild, the machine wouldn’t boot to Vista.  But that just required booting with the Vista DVD again and letting it do a repair.

Adjusting screen brightness on Vostro 2510 with Windows 7

Upgrading our Vostro 2510 to Windows 7 was surprisingly painless.  It seemed to have good video, networking, and audio drivers from the start.

However, I couldn’t adjust the screen brightness with the special keys.  I tried looking for Dell Quickset for this hardware and OS combo, but no luck.

It turns out that installing the Vista video driver from Dell did the trick.  Now the screen brightness keys work!

Fix for “system icons grayed out in Windows 7”

A week ago, my power, network, and volume icons disappeared from the tray area of Windows 7.  When I chose “Customize notification icons” and then “Turn system icons on or off”, the choices were grayed out like the image to the left.

I tried the Group Policy and registry solutions that I found online, but with no success.

Here’s how I finally fixed it:

  1. Run a Command Prompt as administrator, then “sfc /scannow”
  2. Find the sfc log file at C:\Windows\Logs\CBS\CBS.log and search it for “cannot repair”.

I discovered that 6 .dll files from C:\Windows\system32 were messed up.  I found a nice explanation here as to how to extract the files from the Windows 7 installation DVD using 7-Zip, which I already like for other zipping and unzipping tasks.

Unfortunately, you can’t just copy the files into C:\Windows\system32.  Here’s what I had to do to replace the .dll files:

  1. Extract the files from the installation DVD into a local folder, such as c:\extracted-files
  2. Boot the installation DVD, choose to repair Windows, and get to a Command Prompt
  3. Use the command line to copy the .dll files from c:\extracted-files to c:\windows\system32
  4. Reboot

That did it!  I don’t know how the files were corrupted, but replacing them got the system icons back.

Media Center Ordeal (part 2)

Zap2ItOr, “When Zap2It Disappoints”.

I’ve been frustrated by Windows 7 Media Center not finding listings for the broadcast stations in my zip code.  I have an antenna and Comcast cable, and would like to be able to record from both.  When I program Media Center with my zip code, the broadcast listings show 3 channels (out of approximately 40).

A friend told me that he switched over to Indianapolis’ zip code and was able to get broadcast listings.  I tried that, but then my cable company wasn’t offered.  And it takes at least 10 minutes to switch zip codes and see what happens.

I finally realized that I could go to (the provider of TV listings to Microsoft), try different zip codes, and try to find one that has broadcast and Comcast listings.  I found the zip code map at and tried 46060 first.  It works!  I finally have listings for all of the channels that I care about.