Windows 10 has an improved Console

Windows 10 Console

It’s true, the Windows command line is making a comeback.

With Windows 10, a number of ‘experimental’ options have been added to the console host which work with both the classic cmd.exe and PowerShell. This includes features like CTRL-C and CTRL-V for copy and paste, plus new text selection hotkeys, resizing, transparency and more.

And, by the looks of Microsoft’s UserVoice forum, this looks like just the beginning:

In the dawn of time, the original Windows console was created. For millenia, geeks and developers (typically both) steeled their nerves and leveraged the console’s utility. After a (very) short time, a great lacking was noticed. And so, legions of ever intrepid command line mavens migrated to other platforms and other consoles, ‘til but a stalwart few remained. Now, today, with a small rumbling, the ancient, weary console heaves a great sigh and rises. The journey to legitimacy has begun.

WE’RE BACK!

If these kinds of features are important to you, don’t forget to give your feedback to Microsoft so that they know that the command line is still relevant in 2014.

Windows 10 Technical Preview

As a big user of software and services in the Microsoft ecosystem, finding out about the next version of Windows is always exciting. Yesterday, we got our first official look at Windows 10, and while we didn’t learn about many features which hadn’t already been leaked, we did finally get to hear Microsoft’s plan for its next generation Windows platform.

Windows 10 Product Family

The official picture above teases how this single release of Windows will feature multiple interfaces the operating system itself, scaling from the Xbox One and the large Perceptive Pixel multi-user business display, all the way down to embedded devices, phones and small tablets.

From a developer point of view, Windows 10 will support a new universal app model that spans across multiple devices. This means that an application can be written only once to run across all of these environments, end-users will only have to purchase the application once to use it everywhere. Universal apps for Windows 10 will probably be very similar to the ones announced at Build earlier this year.

Windows 10 Start Menu

New features like Task View and Snap Assistant are included in the technical preview, but the more obvious user interface changes look like they are still to come. For example, Continuum is a set of features which enable hybrid devices to switch between touch and desktop modes automatically, just by attaching or removing the keyboard.

Windows 10 Task View

Today, along with many other Windows enthusiasts, I signed up for the new Windows Insider Program. This new program is similar in concept to the Windows Phone Developer Preview, but it will also provide opportunities to provide feedback directly to the Windows team.

Trust me, I’m going to provide as much feedback as possible.

Is this the end of HealthVault?

MSN Health & Fitness

As part of the rebranding to MSN, the fantastic Health & Fitness app gained a number of smaller features, and lost one big one: synchronisation to Microsoft’s HealthVault medical data backend.

HealthVault first started back in 2007 in the United States as a medical storage system designed for families to share data with doctors and medical institutions. It expanded in 2010 to include the United Kingdom with grand plans to integrate the service into the UK’s National Health Service. It seems that these grand plans were never realised, as I’ve never been able to get access to my NHS data this way.

HealthVault for Windows Phone

I have been using HealthVault for years though. It’s my central repository for all my health information including steps from my Fitbit, blood pressure, emergency contact details and, until now, calorie intake and exercise statistics from Health & Fitness.

In my opinion, today’s removal of the HealthVault synchronisation is probably for technical reasons, but it may signal the beginning of the end for the service. I can’t imagine Satya’s Microsoft keeping two competing health platforms up and running for long. Especially with new competitors outside of the company from the likes of Apple’s HealthKit and Google Fit.

I was involved in a small private beta of the Health & Fitness app for Windows Phone in an effort to try and reduce the serious amounts of crashing that would occur on the app when tracking exercise with the GPS. It’s also no shock to anyone that has used it that entering information and waiting for it to synchronise was a slow process.

MSN Health & Fitness for Windows Phone

Synchronisation is super-fast on the new Health & Fitness app and the newly designed Azure-powered backend is probably a big factor in that speed, especially when compared to the aging HealthVault platform API.

The diet and cardio information entered into the app is also available on the new MSN portal that launched today. This is also super-fast and responsive. It’s no wonder they’ve made this decision for end users.

Finally, there is a possibility that MSN’s new cloud backend will eventually end up synchronising directly with HealthVault, rather than going through the device-based clients as it used to. But it seems doubtful based on my understanding.

Cortana comes to the UK

Something I can do for you, Jules?

When I first started using Cortana four months ago, she immediately became a useful asset for things like reminders and search. Over time she got much better at giving me local information about places, events, and restaurants automatically.

The other thing that improved greatly was her voice and personality. She started to tell jokes, sing songs, answer trivia related questions and much more. Over the four months I grew attached to the personality, and got used to the voice.

When Cortana officially arrived in the UK they did the expected localisations work, like using Celsius rather than Fahrenheit. But they also changed her voice – and therefor her personality – to be British, and for some reason this means she is a lot more formal and a lot less friendly.

Microsoft Cortana

In the United States, Microsoft’s personal assistant is voiced by Jen Taylor – the original voice of Cortana from the Halo series of video games. Her voice is friendly and bouncy, and has lots of emotion.

Over the pond things are different, Cortana has been voiced by someone else for the British market. My initial reaction was that this new voice sounded slightly robotic like a generic ‘sat nav’. This is obviously not a good thing for the technology.

I’m not really surprised though. There is no single British accent, and unless you’re going to provide dozens of options, you’re probably going to choose one that sounds like ‘BBC English‘.

It turns out that the way a computer speaks to you is absolutely fundamental to the way a vocal user interface works. As we move into this world of natural voice interaction, we need to understand what this means on the human level. In this case it feels to me that my personal assistant has left her job, and has been replaced by someone else. Against my wishes.

Localisation aside, Cortana is pretty much the full featured version that you get over in the United States, for example here is what Cortana showed me on Saturday the 16th of August while I was studying in the library.

Cortana on Windows Phone 8.1 GDR 1

As you can see there’s a lot of information here and almost all of it stuff I wanted to see, though I must admit I could quite happily see some improvements in how she finds potentially relevant news. Ideally I’d like to have something like Techmeme‘s ability to surface technology news.

Overall, I’m extremely pleased with Cortana and I’ve already noticed improvements in the voice to make it less robotic. But I have to admit, I’d much rather keep the original voice of Jen Taylor and combine it with the ability to tell me temperatures in Celsius.

Is that too much to ask for?

How I like to Study

stargazing

After taking a 4 year break from studying, I decided to ease myself in gently by studying a subject with which I was already fairly familiar. I opted to go for Galaxies, Stars and Planets, a short course with the Open University that has helped me formalise many of the concepts I have learned through being a member of The York Astronomical Society.

Location

My location of choice is the JB Morrell Library at the University of York. I’ve frequented the library since I worked at the Science Park in 2008. Back then, I was studying mathematics and I loved how studious the atmosphere was. Since then, the library has been refurbished making it even easier to get access to things like power sockets.

uni-library

I do actually have a favourite spot on the second floor which has a nice view and isn’t very far away from the toilets and recycling facilities. There is also a chilled water fountain nearby – but if water isn’t strong enough the Café is just downstairs. (Which is great for my Fitbit floors goal!)

The Morrell Library is located on the Heslington West campus. It is only a short walk to get to the largest plastic bottomed lake in Europe (fans of QI will understand the reference). I have found that it is a lovely place to walk around, and it gives me some exercise and fresh air when taking a break from studying.

bridge

Equipment

The course I’m currently studying centres around one key text book, which is supplied to me as part of the material sent by The Open University. It’s also available online in PDF and epub formats. The latter of which can be used (via conversion) with the Kindle.

large-scale-universe

My Kindle has been the main way I have read the study material while working on the course, and it’s obviously a lot easier to carry than the larger study book. I also keep a copy of the PDF versions on my Surface Pro 2 just in case I need to look at the diagrams in colour.

The Surface Pro is also great for the online elements, including watching videos provided by the Open University, which accompany the course.

einstein

I decided to use a Moleskine notebook to work through the activities and make notes. It actually ended up being larger than I needed, so I think the type of notebook I use will be something I look into changing, for the next course.

Because all the equipment I use is so small, everything fits in my Knomo bag without any problems. In previous years I had been carrying around a large backpack which contained more books, a larger computer and a calculator or two. Keeping things light and simple means I have less to carry with me when I study, helping make the whole experience more enjoyable.

dark-matter

Software and Services

When I started the course back in May, I set about doing a lot of the meta-work up front. This meant that I could just rely on these things moving forward.

  1. I downloaded all the images, videos, and other materials from the OU website and put them on my OneDrive, setting them to always be available offline on my Surface Pro
  2. I made a list of all the work that would be required in the study plan and put it all into OneNote as a task list
  3. I put the milestones and study dates for the whole course into my Outlook calendar
  4. I set up the Aladdin Sky Atlas software using IKVM.NET on my Surface, so that I didn’t need Java
  5. I converted the study book from epub into the Kindle format, and stored PDF versions for the Surface

When actually working on the activities and reading the material, I’ve also used Windows Calculator, Bing Wikipedia, Periodic Table and Star Chart. These applications have helped me do mathematics, look up further reading, and – very importantly – visualise the solar system using 3D graphics.

sun-diameter

hydrogen

The extra programs that the Surface Pro provided where not required for the course, but certainly helped.

Mindset

I decided that I only wanted to study at my study location, which means I go there once a week, every week and make no compromises about that. If a friend suggests doing something on one of these days, I’ve just had to be firm and say no.

surface-library

But doing it this way has really suited me, as it gets me away from a home full of distractions and into a productive environment with other people wanting to get things done. The motivation of wanting to progress my work has been enough to keep me going.

I may have found it a lot easier on this course because it’s a subject I already understand more than the average person, so I’ll be really interested to see how well I fare when I pick a new subject next year.

While I’m not ruling out taking time off again, I’m certainly planning to continue my mindset of life-long learning for the foreseeable future. I’m sure the way I like to study will only improve over time.

String Hashing in F#

I recently wrote a small program to convert some strings into a ‘unique enough‘ hash which could be used as a short reference.

Whenever I’m trying to come up with an idea of how to handle these kinds of functions, I tend to turn to my favourite language, F#. This allows me to do rapid prototyping in a very functional way.

Below is the prototype version of this hashing program:

open System
open System.Text
open System.Security.Cryptography

let encode (alpha:string, number:int) =

    let b = alpha.Length

    let rec enc (s:string, n:int) =
        match n with
        | x when x <= 0 -> s
        | _ -> enc (s + alpha.[n % b].ToString(), n / b)

    match number with
    | 0 -> alpha.[0].ToString()
    | _ -> enc ("", number)

let md5Int (input:string) =

    let clean (str:string) =
        str.ToLowerInvariant()
           .Trim()

    let computeHash (str:string) =
        let bytes = Encoding.Unicode.GetBytes(str)
        use crypto = new MD5CryptoServiceProvider()
        crypto.ComputeHash(bytes)

    let convert (bytes:byte[]) =
        let i = BitConverter.ToInt32(bytes, 0)
        Math.Abs(i)

    convert (computeHash (clean input))

let hash (input:string) =

    let a = "ABCDFGHJKLMNPQRSTVWXYZ0123456789"
    let i = md5Int input

    encode(a, i)

Once I have this program created, it’s very easy to use in F# Interactive like so:

> hash "Here is a test string!";;
val it : string = "1W2ALLB"
> hash "The hash is much smaller, which is great.";;
val it : string = "5DAF5T"
>

Full Moon in May 2014

Last night I went out with my Canon SLR to take some nice photos of the moon, but when I got out I discovered my battery was almost flat – and I didn’t manage to get a good shot. But to make up for it, here’s a picture taken with my Lumia 920.

Full Moon in May 2014

Watching Gravity on Xbox Video

I don’t own any movies on DVD or Blu-ray. None at all. I gave up on DVD at the same time I stopped buying CDs, and I have never been interested in getting myself a Blu-ray player for movies either.

Most of the movies I watch are on Netflix, but once in a while a new movie comes along that I want to watch as soon as I can. In previous years there weren’t any decent (legal) ways to do this, but these days there are a number of options for getting movies online.

As a happy user of Xbox Music, I thought I’d give Xbox Video a try.

Xbox Video

Xbox Video is a streaming video service that lets you either rent or purchase movies, and watch them directly on your Xbox, Windows device or in a web browser.

The only video I’ve purchased on Xbox Video previously was Mean Girls – but that’s a 10 year old movie and didn’t include any of the fancy extras you get with SmartGlass.

When Gravity became available I purchased the HD version for £14.99. Because it’s purchased, rather than rented, I can watch it as many times as I want, including the SmartGlass extras.

Gravity

In Gravity, Dr. Ryan Stone is a mission specialist on a Space Shuttle mission to Hubble, when an accident causes the rest of the crew to perish.

In a slightly unrealistic-but-more-realistic-than-most-movies turn of events she finds herself at the International Space Station, then to a Chinese Space Station in an attempt to get back home.

SmartGlass on Windows Phone

Through Xbox SmartGlass you get access to special content – which I believe is also included on the Blu-ray release. I have the option of accessing the extras through either my Windows Phone, or my Surface tablet. There are also apps available for both iOS and Android too, but I don’t have either of those devices.

My favourite part of the extra content was actually the video short, however I couldn’t get it to play full screen for some reason. Bit of a shame.

Xbox SmartGlass

In “Aningaaq”, we see the other end of the radio conversation that Stone has while in the Russian space craft. Aninqaaq, a fisherman in Greenland, is also dealing with death in his own way. This time we are provided with a translation for his side of the conversation, which is a great little extra to the movie.

Overall the Xbox SmartGlass experience was good, and more interesting when I watched the movie for the second time. I don’t think I’ve ever purchased a movie specifically for the extras before, and I’m not going to start – but it’s a good little bonus.

Gravity

Running JAR applications on Windows without installing the Java Virtual Machine

As part of my Open University course, I’m required to use a piece of open source software called Aladin Sky Atlas. This is maintained by Centre de données astronomiques de Strasbourg.

The program itself is actually pretty cool – it’s an interactive sky atlas, which allows you to view astronomical images along with information from the SIMBAD database and other sources.

The only problem with this program is that it uses Java, something I tend to avoid whenever possible. Installing Java on my Surface Pro 2 would mean I’d have more critical patches to install than I already do, and would open me up to a whole new attack vector. It’s not something I’d want to run on a tablet computer either.

(ノಠ益ಠ)ノ “Eww, Java!”

I originally tried using Hyper-V with a virtual machine running CentOS. This is a nice clean way of having ‘nothing running’ until it’s actually needed, but it’s quite an overhead to run a whole Linux operating system just to host a single app. Especially when battery life is a concern.

When searching around for a solution, I stumbled upon a really cool project that I’d never seen before. The IKVM.NET project includes a number of components for Java & .NET interoperability, but for this task I’m mostly interested in the Java Virtual Machine implementation.

By downloading the Windows binary of IKVM.NET, I’ve been able to run the application on my Windows 8.1 machine without requiring the JVM (or any other software) to be installed at all. This is a pretty fantastic achievement.

First I put the binaries into my apps folder (similar to my Vim setup), then I set up an alias to the executable using PowerShell.

# There's usually much more than this in my profile!
$SCRIPTSPATH  =  "C:\Users\Julian\Scripts"

Set-Alias ikvm   "$SCRIPTSPATH\Apps\ikvm\ikvm.exe"
Set-Alias ikvmc  "$SCRIPTSPATH\Apps\ikvm\ikvmc.exe"

# ikvmc.exe is cool too! have a look

After creating an alias in PowerShell I can just run it whenever I need.

PS> ikvm -jar aladin.jar

Obviously you could always set up a Windows Shortcut that does a similar thing, but that’s boring. Using PowerShell really suites me, as I often run applications this way.

Aladin Sky Atlas running on Windows without Java installed

The software doesn’t exactly look pretty, but these open source projects rarely do. Sometimes it looks like text hasn’t rendered as expected, but overall I’m really impressed.

If you’re looking to run JAR applications on Windows, without the Java Virtual Machine, then have a look at The IKVM.NET – it might work for your apps too.

Using Windows Reading List

When Windows 8.1 came out it included an application called Windows Reading List, which used the Share functionality of Windows to bookmark articles which can be read later.

Any application that shares the right kind of information can be used with Reading List, but the applications I use most often are Internet Explorer, Flipboard and the Bing applications.

Reading List

When you share an article to Reading List it asks you which category to use. I have set myself up with categories for software development resources, health and fitness information and general inspiration for life and work.

Adding articles on either Windows or Windows Phone will use your Microsoft account to synchronise automatically. This is completely seamless in both applications – meaning there are no options to configure these settings at all. I’m quite happy with this, but I know that some power users would prefer the option to choose how the information is synchronised with their computers.

Reading List and Internet Explorer in Reading Mode

When you use the application on Windows, clicking on one of the articles will open up another window next to the snapped reading list. I love this feature, and it really goes to show the strengths of multitasking with the modern interface in Windows.

Doing the same on the phone just opens Internet Explorer, the related application, or prompts you to search the store if you pick something that is incompatible. For example the Bing Wikipedia app isn’t currently available on Windows Phone, so clicking articles from this app prompt you to search the store.

Reading List for Windows Phone

The addition of the Windows Phone version of this application has really increased its use for me, however it’s obvious uses are diminished when used with older versions of Windows.

At work I use Windows 7 for my development machine, and there’s no way I can share interesting links found here with my Reading List. While I’m not expecting Microsoft to create a desktop app, a simple bookmarklet or browser extension would certainly do the job for collecting new articles to be read later.