Category Archives: Windows

Microsoft Surface Pro 3 Overview, Part 1 Windows

I wanted a tablet that would help me type. I am a journalist and hoped to have the ability of a tablet to handle it. To be able to fact check online, get emails, and use a word processor was what I hoped this tablet would be able to do. To decide if this tablet was enough I read a hardware review.

This is an overview of the Surface tablet: I created a recovery drive, tested the hardware, customized some setup options, and give my thoughts of it.

OEM OS backup and restore

Windows 10 is created to protect itself. For necessary situations it has the ability to refresh or be reset by the user. For instances with updates, they can be rolled-back within 10 days. The prior OS 10 tools are still there (system imaging, restore point) for the meta-detailer, however, I will trust the Windows 10 tools to be able to handle recovery. I also have a year warranty so that helps out too.

File backups are encouraged. For files there is File History in Settings > Backup that will backup personal files on a regular basis.

Recovery drive creation

My tablet has a recovery partition that has Windows RE (Recovery Environment) on it. Windows RE is for resetting or repairing Windows 10.

I wanted to have a failsafe and I created a Windows RE on a USB flash recovery drive. The USB creation utility can be opened in the Start menu by typing Create a recovery drive. I unchecked the option to copy the system files as the plain recovery drive has all the tools I need. (A microSD card can be used here too.)

If there is ever a need to recover Windows later this page has more details.

Recovery drive image

The USB flash drive I needed for other tasks. I imaged the drive so I can restore it later if needed¹. I used msys2 to do so:

# size get from Drive properties 357 MB for me (+1 MiB for partion table, etc)
cat /proc/partitions
dd if=/dev/sdX count=182784 bs=2048 | pv | xz > surface_$(date +%F)_winre-usb.img.xz
# recovery drive image restore
xzcat surface_DATE_winre-usb.img.xz | pv | dd of=/dev/sdX bs=2048
# tested working

For Windows to recognize the USB flash drive properly again after Recovery drive creation it has to be re-partitioned and re-formatted. Type diskpart in the Start menu and then:

# Start menu `diskpart`
list disk
select disk X
online disk
clean
convert gpt
create partition primary
select part 1
format fs=ntfs label=Backup quick
assign letter X
exit

Hardware tests

Windows touch-ups

Windows 10 on this tablet was pretty much ready to go out of the box. I did a few appearance touch-ups and added a few programs.

  • Desktop scaling increase to make images and text larger for the higher than previously typical DPI. It needs to be a little larger than the default 150% and the next in the basic setup is too large (175%). Using a custom scaling number is alright though recommended otherwise. The only instance where there is trouble is apps that can’t rescale an image down again to its 100% for something like a gamma correction test: Control Panel > Appearance and Personalization > Display: make text and… > set custom scaling level, I use 162.
  • display color calibrate—type this and use the guide to balace the colors levels
  • sleep time extend for computer as is 10 minutes default—listening to audio and … I extended it to a hour, type Edit power plan in Start menu
  • recycle bin move Quick Access as I organize in the File Explorer—drag RB to File Explorer Quick Access, and remove from Desktop: Show or hide common items on the Desktop
  • drive lettering order that makes sense to me: C:\ Windows, P:\PNYFLASH S:\ SDXC; this is also he order they are hardware recognized
  • hibernation in Start Menu add, because I put this in my backpack I want to be sure it stays at a cool temperature: Power Options > Choose what the power buttons do > Change settings that are currently unavailable > add Hibernate

Programs I installed:

  • 7-zip
  • notepad++
  • msys2

Surface and Windows 10 thoughts

Microsoft has been nice to me. This process started with Surface User Guide I got online. It was very helpful; I got to learn the hardware and the OS with it.

The 4GB RAM the Surface has, I wondered if it would be enough. I email, web browse, and word processor busily; these first two weeks the tablet has been running proficiently. The GPU plays videos smoothly. On other GPU intense tasks with some programs on lower settings it can do enough. Windows 10 appears to use memory efficiently and the 1408MiB page file has remained at that level.

Windows does updates in the background smoothly now and is patient to reboot. It also handles the firmware.

The Edge browser is nice. It is just the basics and has run efficiently. Microsoft. To save a page for offline I use the print to XPS option.

Firefox profile on a flash drive

firefox-tuning

I regularly use a computer at my workplace. This computer multiple people use so it is setup not to save Firefox’s settings. I use it enough, in specific ways, that I decided to find a way to use it with settings available.

I take a flash drive with me to be able to access various personal documents and programs. I had heard about web browsers being installed on flash drives; after I thought about it awhile, I realized all I would be required to do is put a profile on it.

The flash drive I have is formatted FAT32 to be able to use with Windows (my work computer) and I keep my flash drive organized similar to my Linux home directory for convenience. First I created a directory for the profile:

mkdir -p ~/.mozilla/firefox/profile/ANAME

Then I create the profile—from the command prompt this command will get the job done:

start firefox.exe -CreateProfile "MyName D:\.mozilla\firefox\profile\ANAME"

start-menu-example

(Or alternately I could have typed firefox.exe -P from the start menu and used the GUI version.)

I started the profile then to have the necessary files created. After it got done loading, I quit Firefox and I deleted the profile managers knowledge of the profile but not the profile itself (see example picture).

With the profile created all required effort left to be done is to instruct Firefox of the profile’s location. I put this in a batch script so that I can regularly use it:

@echo off

:: http://stackoverflow.com/a/15815897
:: http://stackoverflow.com/q/154075

set HOMEDRIVE=%cd:~0,2%

if exist C:\PATH\TO\firefox.exe start /b C:\PATH\TO\firefox.exe -profile %HOMEDRIVE%\.mozilla\firefox\profile\toddweed && exit

if exist C:\PATH\TO\firefox.exe start /b C:\PATH\TO\firefox.exe -profile %HOMEDRIVE%\.mozilla\firefox\profile\toddweed && exit

if exist C:\Program Files\Mozilla Firefox\firefox.exe (
  start /b C:\PATH\TO\firefox.exe -profile %HOMEDRIVE%\.mozilla\firefox\profile\toddweed
) else (
  echo Firefox executable not found.
)

GNU love for Windows

gwindows_logo

I wanted to be able to type in Windows with a familiar text editor. I downloaded a terminal text editor called gvim, which I think is a good text editor, and it was able to be installed portably—this last is necessary as the computer I use I am not able to install anything on. However, even with having that, I discovered that I wanted to be to use the GNU tools I had become familiar with… hence a dilemma.

There are several projects that provide GNU utilities on Windows… I have learned. I am not an expert in these mind you—I have tried only one—however, I’ve heard good things about them all. The following are all terminal emulators and they include the GNU utilities: Cygwin, Gow (GNU on Windows), and Git-bash.

I have only tried the later one. The reason for this is because I’ve had it already installed as it comes installed with the Git program that I use at times. I would have like to tried for the first two, however I’m not too picky and Git-bash has done me well enough; it has the basic utilities and is pretty much ready to go.

Having GNU utilities available is handy for me and saves me a bit of time because of familiarity; another bonus is time saved that would be required to learn the Windows command line. The tools run just like they do on Linux/Unix and can be used on the whole file system. Many of the tools are there: sed, awk, mkdir…. For example, I can type:

$ find /c/Windows/Web/ -type f -name "*Think*"
/c/Windows/Web/Wallpaper/Think/Think_Black.jpg
/c/Windows/Web/Wallpaper/Think/Think_Blue.jpg

By default the terminal emulator uses the already set Windows %HOMEPATH% variable for shell’s $HOME directory—this is usually C:\Users\USERNAME. I decided to use my flash drive as the $HOME directory where all my documents and settings could be kept. I had to create a batch script that defined the %HOMEPATH% and then have it start Git-bash:

@echo off

set HOMEDRIVE=%cd:~0,2%
set HOMEPATH=\

start /B %HOMEDRIVE%\Downloads\Git\git-bash.exe

01-git-bash-example

I then created a shortcut to flash drive root directory for quick access and to have a custom icon. I icon I choose was taken from the git-bash.exe file when I was asked for the icon location.

Git setup

An error was the first thing I had to fix… and it may just be for my particular version of Git; it complained to me when I tried to use it and I had to specify the certificate location. I did this by:

git config --system http.sslcainfo /d/Downloads/Git/mingw32/ssl/certs/ca-bundle.crt

After this I added ssh-agent to my ~/.bashrc launch it:

# SSH agent auto-launch
# 0 = agent running with key; 1 = agent running w/o key; 2 = agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if   [ $agent_run_state = 2 ]; then
  eval $(ssh-agent -s)
  ssh-add
elif [ $agent_run_state = 1 ]; then
  ssh-add
fi

And likewise I added to the bash_logout file ssh-agent -k as Windows would think that it was still running if I didn’t.

Now I’m working pretty good in Windows.