Surface Book Review

en-INTL-PDP0-Surface-Book-CR9-00001-P2I have just bought myself a new laptop, but it is not just any laptop it is a Microsoft Surface Book.

I think this is probably the first time I have bought myself a top of the range laptop and after a few days of use I am loving it.

The Surface Book is the latest in Microsoft’s Surface line of tablets but the first to feature a keyboard and be more like a traditional laptop. The keyboard is detachable from the keyboard so you can use the Surface Book like a tablet.

As it is a top of the range laptop, it was not cheap, so if price is a significant factor in your laptop choice this is not the machine for you. Microsoft are trying to compete with Apple’s Macbook range.

So what did I get for my money:

  • Windows 10 Pro
  • 16Gb RAM
  • 512Gb SSD (Formatted Size nearer 474Gb)
  • 6th Generation Intel Core i7 Processor
  • Surface Pen
  • 13.5-inch touch screen

I have only had the device for a few days but these are my thoughts so far. My primary reason for buying this is for doing development work with Visual Studio and SQL Server.

I really like the Surface Pen. This is a feature that I didn’t think I would use much. The Pen connects via bluetooth and allows interaction with the touch screen. The pressure sensitive screen allows all sort of touch actions to be performed.

I especially like the choice of keyboards that are offered when the physical keyboard is detached. You can have either a on screen keyboard which you can type with pen or fingers, an on screen keyboard that splits in half or you can write with the pen. This is an amazing feature. My handwriting is not good but most of the time it understands my scrawl. With this option you can hand write a tweet or fill in a form on a webpage. For speed I would not recommend this form of input for large amounts of text, but for browsing the web of when you are just clicking on links it is great.

Windows Hello – I can unlock windows just by looking at my screen. How cool is that! It was really easy to setup, it just takes a photo of your face and next time you login all you need to do it look at the screen. Note if you are working in tablet mode, make sure the tablet is the correct way up.

It’s not all brilliant though. Detaching the screen is fiddly and sometimes takes a few moments to do. A few times I have felt I needed another hand but I am sure the more I do this the easier I will find it to do.

Battery life isn’t great especially when running off the tablet only. This is due to the machine having two batteries, one in the base and one in the screen so with keyboard attached you have much longer use times. Actually I am finding the battery is lasting longer now that I have used it for a few days.

The screen has a very high resolution 3000 x 2000 but using clever zooming technology everything is still readable and not tiny. However I use Remote Desktop a lot and this caused me a problem. When RDPing the remote session used the host screen resolution which made everything tiny on my servers. The solution to this can be found on SuperUser and involved using Microsoft’s Remote Desktop Connection Manager, a cool bit of software for managing multiple RDP sessions. This is actually an improvement on the way I usually work, but until I found the answer this was annoying.

Another minor annoyance with the keyboard is that you can’t press Ctrl-Alt-Del with one 20160226_082809 (2)hand. Normally this isn’t a requirement but if the screen locks while I have my son on my lap I am stuck, but I won’t blame the surface book for this.

When I got my Surface Book I was also given a Microsoft Wireless Display Adapter. I am not a fan of this bit of tech as I can’t get it to work. I briefly got my old laptop to connect but my Surface Book keeps telling me NO!

Overall I like the Surface Book. It is certainly the nicest laptop I have ever used. Now that I have the docking station I can connect two monitors, have a wired internet connection and it becomes a proper work horse. What does everyone else think? Better than Apple’s range of laptops?

New Horizons Pluto Spacecraft

_84270464_p_lorri_fullframe_colorTo explore Strange New Worlds, well today the NASA spacecraft New Horizons has been doing just that. This is the most detailed photograph yet of the furthest planet we have ever explored, Pluto.

New Horizons was launched on 19th January 2006. It has been travelling for 3463 days (9.5 years).

In 2006 we were still using Windows XP and Office 2003. In 2006 I wasn’t even working in IT. As a software developer it is hard to imagine writing software that won’t be used for another 9.5 years.

The spacecraft carries two computer systems: the Command and Data Handling system and the Guidance and Control processor. Each of the two systems is duplicated for redundancy, for a total of four computers. The processor used for its flight computers is the Mongoose-V, a 12 MHz radiation-hardened version of the MIPS R3000 CPU. Multiple clocks and timing routines are implemented in hardware and software to help prevent faults and downtime. To conserve heat and mass, spacecraft and instrument electronics are housed together in IEMs (integrated electronics modules). There are two redundant IEMs. Including other functions such as instrument and radio electronics, each IEM contains 9 boards. The processor distributes operating commands to each subsystem, collects and processes instrument data, and sequences information sent back to Earth. It also runs the advanced “autonomy” algorithms that allow the spacecraft to check the status of each system and, if necessary, correct any problems, switch to backup systems or contact operators on Earth for help.Mission-Spacecraft-structure

For data storage, New Horizons carries two low-power solid-state recorders (one backup) that can hold up to 8 gigabytes each. The main processor collects, compresses, reformats, sorts and stores science and housekeeping (telemetry) data on the recorder – similar to a flash memory card for a digital camera – for transmission to Earth through the telecommunications subsystem.

Communication with the spacecraft is via X band. The craft had a communication rate of 38 kbit/s at Jupiter; at Pluto’s distance, a rate of approximately 1000 bit/s. To put this speed into context, the size of the image at the top of this page is 649kb and would take over 86 minutes to travel from Pluto to Earth, (I am sure the actual image was much larger and took even longer to reach us.) Besides the low bandwidth, Pluto’s distance also causes a latency of about 4.5 hours (one-way). The 70 m (230 ft) NASA Deep Space Network (DSN) dishes are used to relay commands once it is beyond Jupiter. It will take 16 months to send the full set of Pluto encounter science data back to Earth.

Most software encounters a problem from time to time, but the software on board this spacecraft has to keep running for almost a decade. Due to the distances involved its not possible to upload any code tweaks. Any commands that are sent to the spacecraft will take 4.5 hours to even get there so there needs to be a huge amount of autonomy and redundancy to cope with such a massive journey.

I can’t even imagine how you would begin to write the software to run such a craft. I don’t think I have written any code that is as old as is running on the New Horizons craft, and if I had I would guess the quality would be quite poor certainly not good enough to work non stop for a decade.

There are some incredibly clever people out there who have been involved in this project. Congratulations team you have every right on being proud as the data starts to trickle back to earth.

Building something with a Raspberry Pi

Many years ago I spent a lot of time learning about electronics. It was great fun, I can’t remember specific things I built, but learning what resistors and capacitors do was fascinating.

I haven’t really thought about this much as my interests have been concentrated on computers and programming, but recently my interest has been peaked again.

The CodeNewbie and Hanselminutes podcasts have been running a month of stuff about making things and doing clever things with hardware called #Marchisformakers, this began to start me thinking about this stuff again.

Yesterday a friend of mine was showing me what he had been doing with a Raspberry Pi and Arduino. It is amazing what you can do with these tiny bits of technology and I was very impressed.Raspberry_Pi_-_Model_A

Now I am thinking what mini project could I play around with and which piece of hardware should I base it on. I don’t know much about the two platforms yet but I have found a blog post that introduces the two. My current thoughts are to start with the Raspberry Pi, it is a UK technology and it uses a linux OS (which I have some knowledge of).

Being a windows developer, most of my programming knowledge is with C# and Visual Studio. To use my existing knowledge I could install and use MONO, which means I can program the Raspberry Pi using C# (see here for more details about MONO on Raspberry Pi).

But deciding on a language to use, doesn’t help me choose a project. I haven’t even got myself a Raspberry Pi yet so I may decide more once I have had a play around with it. Thoughts so far include getting wi-fi to work on the Raspberry Pi or maybe adding a camera and sticking it somewhere and taking pictures, maybe even build myself a baby monitor (might go down well with the wife if its baby related)