Category Archives: Windows

Microsoft Surface Pro 3 Overview

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. I bought a Surface Pro 3 with a Type Cover (snap on keyboard) because of a video I found on YouTube. This tablet works good for me and is handling other tasks well like graphic creation. It is also reasonably sized and lightweight; this makes it easy to carry in my backpack. Read this hardware review for hardware information.

This is an overview of the Surface Pro 3. I created a install CD, tested the hardware, and did some custom setup options.

Install Disc creation

I learned the hard way. I grokked that an install DVD was legacy, that the Reset PC and other tools in the Windows Recovery Environment could fix it. I had to buy it new later ☻ (BTW the boot error was entirely my own fault). The good news is that Microsoft has made available a Install DVD that can be downloaded. A search for Windows Media Creation Tool lead me to the right place.

Recovery Environment creation

Most Windows installations have a Recovery Environment partition. The Recovery Environment has tools to repair common problems and is real useful. However I have only been start it when in a running Windows installation (under Recovery Options). To have it always available a Recovery Environment creation utility exists to put it on a DVD or Flash Drive or SD card. Type create a recovery drive to open it.

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

Hardware test and benchmarks

I wanted to test the hardware to make sure it was working correctly. I used the Windows Memory Diagnostic (open Start Menu and type this is the quickest way to get to it) utility first. Then did disk error check (File ExplorerThis PC(right-click C:\, Properties)Tools TabError checking Check. Then I ran a S.M.A.R.T. test on the disk. S.M.A.R.T. tests are built into the disk drives themselves and test the functionality of the hardware. I recommend doing a S.M.A.R.T. extended test with smartctl.

I tested the drive speeds as:

drive             read  write
----------------  ----  -----
SSD               ~500  100
USB Flash drive:  ~100  12
----------------
* MB/sec

Custom setup options

  • display scaling (aka desktop scaling): I increased to 158%: change display settingscustom scaling. (For a 217PPI display 225% is technically right so the scaling must be disproportional.)
  • display color calibrate: I have a guide that might help
  • recycle bin link to quick access to leave Desktop open for work files: themesDesktop icon settings
  • power plan adjustments: Control PanelHardware and SoundPower OptionsChange plan settingsChange advanced power settings
           bat  plg
slideshow  ava       # battery life should be ok with this on
sleep      10   45
hibernate  45   -    # hibernate loads quick enough
brightnes  50   50   # easy for the eyes brightness level
adaptbrig  on   on   # adaptive brightness is a nice bonus
  • touchpad
    • “leave touchpad on when a mouse is connected” turn off
    • tap as mouse click disable—bottom corners use
    • “drag two fingers to scroll”—on leave, ♥ the two-finger scroll
    • “pinch to zoom”—off turn, occasional and helps avoid accidentals
    • three and four finger gestures—off turn, repetitive and helps avoid accidents
  • right mousebutton key to Right Control key, keyboard-layout_context-menu-key-as-right-control.reg (requires reboot):
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,e0,5d,e0,00,00,00,00
  • date format I customized as “yyMMdd ddd” so that it would fit in the taskbar, this can be done in Control PanelClock, Language, and RegionChange date, time, or number formatsAdditional settingsDate tab

Program additions

  • 7-zip
  • Arachnophilia
  • CorelDRAW
  • Geany—good basic text editor. I wrote a post to pare it down to just what I use.
  • HDGraph
  • Git
  • Steam
  • Vim
  • Visual Studio Code
  • WordWeb

Final thoughts

I am proud I got to own this tablet. Microsoft has put some love in to it. I began with the Surface User Guide I found out online that was very helpful.

I wondered if the 4GB of memory was going to be enough. I have emailed, web browsed, typed, and more and it has been running nicely. The GPU plays videos smoothly. On other GPU intense tasks with some programs on lower settings it can do a bit.

The updates are seamless and I am happy with how Windows 10 is running. The Edge browser I have been using although I am a long time Firefox user. It is efficient and just the basics.

(Tip: I read quite a bit offline and find the Print to XPS option useful. I find a page in web browser and type Ctrl + p. I think I have tried out enough options to be able to save these files nicely offline: The Surface Pro 3 has a 2160 x 1440 resolution, a 3:2 aspect ratio, a 12.01″ diagonal physical size, and a 217 PPI. The closest paper size (and I looked through most of them) is the A2 size, the PPI and size match best. To have it work: use the Landscape view and scale 200%. Scaling is necessary because Print to XPS only does 96 PPI. Thereafter in the XPS Viewer the page will need to be scaled down to look right; this can be done with Ctrl + N. Also tabloid at 150% also works good.)

External links

Advertisements

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.