Saturday, December 29, 2012

SkyDrive on Microsoft Surface

You have a Windows account - you have a SkyDrive - a cloud storage where you can keep all your files and access from wherever you want and from whatever device you prefer.

If you are a Windows PC / laptop user (meaning you're x86 / amd64) you are lucky enough to have a SkyDrive desktop application for Windows which seamlessly integrates with File Explorer and you see:


But what if you're a Windows RT user? I mean Microsoft Surface, for example.

First is all you have is metro SkyDrive - an application developed especially for Microsoft Store and Windows 8. A bad side is you can not just copy a file in Windows Explorer and paste it to SkyDrive or vise versa. You have to explicitly upload and download files - that sucks. I don't understand why Microsoft Windows guys didn't include this feature to Windows RT - that's very obvious.

Second, you can't install applications directly, only from Microsoft Store.

Is it no way to integrate SkyDrive to File Explorer? A solution exists! And it is mapping your SkyDrive as a network drive.

What SkyDrive will look like on my Microsoft Surface

We are working towards this:
 


This is how it looks like on my Surface. As you may notice, the result is pretty seamless and allows you to work with your SkyDrive as it was just another hard drive or a flash drive connected to Windows.

How to map a SkyDrive as a Network Drive

  1. Go to https://skydrive.live.com
  2. Enter your account name and password
  3. Navigate to any folder, say Documents
  4. Copy current URL. It should be something like
    https://skydrive.live.com/#cid=XXXXX&id=XXXXX%YY
    A URL can be different, but the part you need is cid=XXXXX, which should always be there. Copy XXXXX part.
  5. Now open up a file browser
  6. Right click "Computer" and choose "Map network drive..."


  7. Now type https://d.docs.live.net/XXXXX/ in Folder: field, where XXXXX is cid part from the step 4



    Make sure Reconnect at sign-in is ticked and this drive will be remapped automatically after reboot.
    Note: drive letter can be any of your choice
  8. After clicking Finish you'll be asked for your username and password. This information is the same to what you provide when you access https://skydrive.live.com. Username is Microsoft live email address and password is the password from that email.
    Note: you will have to enter email and password each time the SkyDrive gets reconnected - on every reboot. You may choose to save your credentials. If so, you will be just one click away from reconnection.
  9. That's it - now you have your SkyDrive mapped.
  10. You might want to change the label for newly mapped SkyDrive, because a big hexadecimal number is probably not how you want to see your SkyDrive. That is simple. Right click just mapped drive and click Rename.

How to change a dull default icon to a neat SkyDrive icon

Now you have SkyDrive connected to your Surface and you can just drag and drop files from one place to another not thinking of any applications and where exactly an information is stored.

Remember the second picture? On my Surface SkyDrive drive icon looks like from original SkyDrive desktop application, but yours has a default drive icon. Unfortunately, there is no obvious standard way to change the icon (you can't just open properties and change the icon), but fortunately there is one documented way to do this.

First of all you'll need SkyDrive icon. Then you'll need to edit Windows Registry.

Getting SkyDrive icon

  1. Go to https://skydrive.live.com
  2. Click Get SkyDrive Apps at the bottom left corner
  3. Choose Windows Desktop
  4. Click Download now button
  5. Choose either Save or Save As and save the file
  6. SkyDriveSetup.exe will be saved

Editing Windows Registry

Now, when you have an executable with SkyDrive icon, you may want your mapped drive to have this icon.
Open up Registry Editor. Hit Ctrl+Windows to open Run window, type regedit and click OK.

 
when you are asked to allow this program to make changes to this computer by User Access Control, click Yes. Don't be afraid, nothing unchangeable is gonna happen until you're careful and don't touch what you're not sure about. Anyway, remember, we are following the Microsoft documented way.
 
After you click Yes you'll see the Windows Registry Editor.
  1. You need to go all the way down to
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer 
  2. Now you need to add a new key. Right click Explorer - the last key you've opened and choose New->Key. Name it DriveIcons.
  3. The same way create a new key under DriveIcons. Name it with the letter you chose at step 7 from How to map a SkyDrive as a Network Drive.
  4. Create a sub key under drive letter key created at step 3. Name it DefaultIcon.
  5. Double click (Default) parameter on the right pane.
  6. Type the full path to SkyDriveSetup.exe into Value Data. If you opted Save at step 5 from Getting SkyDrive icon that'll be C:\Users\YourUserName\Downloads\SkyDriveSetup.exe
The whole picture could look like this:


Close Registry Editor. Close all opened File Explorers. Open a File Explorer. You should see somewhat the same to what you can see on the second picture!

Further thoughts

You could go even further on this. You could extract the icon from SkyDriveSetup.exe and point the registry key to the icon instead of exe. To my understanding, loading an icon should be faster for Windows than opening an executable, extracting the icon and using it. And you don't have to store the executable, you simply don't need it. With that said, I won't extract the icon for you. I think it is a violation of Microsoft license. But if you'd like, you may use Microsoft Visual Studio. Just open SkyDriveSetup.exe in VS and extract the icon. There are plenty of "Resource Hackers" out there as well.

Monday, December 24, 2012

Bing Rewards automation

Have you heard of Bing! ? Do you know that there is something else you can search the information on the Internet with? Some say Bing! is an acronym to "But It's Not Google". I also heard that "Bing! Is Not Google". Anyway, we should admit we have not only Google. And you should really give it a try, because it is a search engine which may be a better finder for information of your interest and it has some nice pictures on it's start screen which rotate every day :) .

Note: for the most links below you should have Bing! rewards account. If you don't have one yet and you'd like to give it a try, please, use this link to join and you'll make me 10 reward points happier :) . Make sure you're binding your Facebook account, because this is what this article is written for.

Have you heard of that you can earn rewards on Bing! ? When you search on Bing! you earn, if you refer your friend and your friend joins Bing! rewards program you earn your referral points. Now what can you do with points? Well, here it is. What I personally do is I buy XBox Live membership or XBox gold. The math is simple: as of the date of writing this - you could earn 1 reward point for 3 searches and up to 15 reward points a day. Once in a while Bing! allows you to earn up to 30 points or provides instant reward points for clicking hot links. Just clicking, no criminal.

Are you still with me? So in order to get your points every day you need to do at least 15 * 3 = 45 searches. Unique searches. Daily unique searches. What you searched today can be found here. Now ask yourself - do you really Bing! 45 searches daily or twice as much on happy days? Maybe you prefer Google? Or (oh boy) Yahoo? Don't worry my friend, here is what you need. This post should even been started here.

If you are still reading, you obviously prefer spending a few more minutes on reading my mind stream in order to find an automated solution instead of Binging incredible amount of searches every day in order to get reward points. And you'll be rewarded my friend.

What do I need to get started?

You need to get Python2. Don't use version 3, it won't work. Version 3 is somewhat a different language from version 2. I used Python 2.7.3, but that should work with all newer versions as well, as they keep consistency. You may choose any flavor of Python - Windows, Linux/Unix, MacOS. I tested on Windows 8, Arch Linux and Ubuntu Linux, but hey, Python is a real cross-platform stuff, so you should have this get working under any OS.
You need to get my script. You're opted to choose from 2 options:
  • download as a ZIP file
  • clone a GIT repo [git://github.com/sealemar/BingRewards.git]
if you choose the second, you'll first need to install Git, if you don't have it installed yet. Please, refer to Git website for more information. Also if you choose Git repo, you'll be able to easily update to the latest version of the script (just in case if I add or edit something).
After you obtained my script, open bingRewards.py in your favorite editor and edit two lines in the very top of the script:
FACEBOOK_EMAIL = "xxx"
FACEBOOK_PASSWORD = "xxx"
That is where you need to put your Facebook e-mail and password. Haven't I told you have to have either Microsoft account or Facebook account to join MS Rewards program? Even though you can use both, but my script works only with Facebook account.

How do I run the script?

I am a Linux/Unix/Mac guy 

To run the script on Linux/Unix/Mac you just need to open your favorite terminal (or maybe you don't like DEs, then console), cd to whatever place you put the script into and do:
./bingRewards.py
and you'll see it running, requesting pages on your behalf and earning points for you!

You may even consider adding the script to a list of cron jobs (or anacron) which will run it for you automatically. If you can't figure out how to do this, just write a comment and I will edit the post to show what needs to be done.

I am a Windows guy

If you are a Windows guy instead, just open up cmd (Windows+R - cmd - Enter), navigate to the place where you put my script:
cd "C:\Script\Directory"
and  run
C:\Python27\python.exe bingRewards.py
where the first part is the place where you installed Python. C:\Python27\pyton.exe is the default location and should suit almost everyone.

You may even consider adding this script to at jobs list. Take a look at at /? help page. If you can't figure out how to do it yourself, just write a comment and I'll edit this article to reflect what needs to be done.

What does the script do?

To get a general understanding of what the script does take a look at the results sample. In a few words, it clicks the links to get instant reward points and searches for you. Searching takes your current day searches into consideration, so it requests only unique queries.

The script generates search queries from Bing! world news page, so don't worry. Until Bing! has world news every day, the script will generate unique queries :) .

Note: Bear in mind that the actual points earned can be different and completely depends on what Bing! reports.

Happy Binging! And happy earning points!

Read Bing! Rewards points to cash to find out how to converts points to cash.
Bing! Rewards Automation version 2.0
Bing! Rewards Automation version 3.0
Configuration for Bing! Rewards Automation script
Bing! Rewards Automation script: Unix Cron