Review of HP Folio 9470m

March 25, 2013 Leave a comment

With the launch of Windows 8, there have been a slew of new ultrabook and lightweight laptops that appeared. However for a Developer or IT Professional, these laptops are typically useless.

 

An ultrabook will typically have

  • a very small form factor – thin (<2cm height) and light (< 2kg)
  • Unconfigurable, and parts such as hard disks and ram are not easily replaceable
  • Quite low specifications – 4GB ram, 128GB SSD
  • Non standard ports, typically require external adapters to plug into LAN or VGA projection
  • Long battery life

On the other hand, a laptop can be the complete opposite of an ultrabook i.e

  • decent form factor, weight varies anywhere from 1.2 to 3kg or more
  • Highly configurable
  • Specifications can be customized, though typically the higher the specification the higher the cost as well as the weight
  • Standard ports for VGA and LAN is usually present, typically a lot more ports compared to an ultrabook
  • Decent battery life

I’ve been searching for quite a while for a high specifications laptop which has a small form factor and is light as well as having a backlit keyboard. Yes it sounds very much like a macbook pro and that is actually the kind of hardware that I was trying to replicate with hardware from windows OEM partners.

 

Finally in late 2012, I finally found it, the HP Folio 9470m!

 

The specifications found at HP site is inline with what I was looking for, and the best part is that it comes with an external battery to bring it up to 21 hours of usage, a built in 3G/4G modem and a fantastic warranty plan!

 

http://h10010.www1.hp.com/wwpc/us/en/sm/WF05a/321957-321957-64295-5228908-5228906-5271146.html?dnr=1

 

Category Specifications Comments
CPU Intel I5 to I7 Standard low voltage Ivy Bridge Intel CPU
Ram Up to 16GB 16GB of ram, definitely able to run almost all my development and VM workloads, user replaceable too!
Hard Disk 7200RPM 320GB to 500GBSSD 128GB to 240GB

MSATA 256GB

Self encrypting drive options available

Decent hard disk options. However what I like is that its user replaceable, as long as it fits the SATA port and has 7mm heightThere are 2 ports actually, a SATA and a mSATA port, so you can in essence have a 256GB mSATA SSD and a 1TB SATA 7200 RPM HDD. No need to worry about replacing a DVD drive just to get another slot for storage
Screen Size 14” LCD (1366×768)14” HD (1600×900) option available This seems to be a sweet spot, any smaller it becomes harder to do any form of decent development, any bigger makes it hard to carry around
Graphics Built-in Intel Graphics This is a laptop, games have long ago been delegated to my tablet
Ports/ Expansions 2xUSB 3.0
1xUSB 3.0 charging
1x Display Port 1.1a
1xVGA
1xRJ45
1xcombo headphone/mic jackWebcam
I like the fact that USB 2 has been totally phased out and its using all USB 3 ports.
Update: The charging port is able to charge an IPAD too!Also the presence of full VGA and RJ45 ports are definitely a plus. No need to carry extra wires for those and increase my risk of losing them
Keyboard Spill resistant backlit keyboard with 2 settings Definitely a plus, especially when working in dim areas. 2 settings works well too, sometimes I just need a bit of light
Pointing device Glass touchpad
Point stick
Dual pointing options for those that can’t figure what they want to use
Communications 10/100/1000 NICMultiple WIFI options from Intel, Atheros, Broadcom

3G/4G mobile broadband

The built in 3G/4G mobile broadband option is definitely a very big plus, no need to carry a dongle anymore!Update: for Singapore, only the 3G mode is available and its in a full sized sim form factor
Battery Replaceable battery (10 hours)External battery (21 hours) Internal battery sounds great, but having the option of external battery and a 21 hours runtime, definitely allows me to get thru any single day without chargingDo note that as you increase the specs of the machine, battery life will drop accordingly
Security Drive Encryption
Pre Boot Security
Face Recognition
Smart Card Reader
Fingerprint sensor
TPM
Whole bunch of security features for the security conscious
Warranty 1-> 3 years standard warrantyOptions
- Travel
- Accident
The options are really great, take a look at the Accidental Damage Protection plan
Dimensions 13.3 x 9.09 x 0.75 in (33.8 x 23.1 x 1.89 cm) Decent dimensions, although not as thin as ultrabook, for the available ports, it’s a good compromise
Weight Starting at 1.61kg Again not ultrabook spec, but light enough

 

From the specifications,  i would highly recommend this machine for anyone looking for a workhorse and yet is really mobile enough with decent battery life (kind of what everyone is aiming for)

Rating: 4.5/5

 

I bought one of these from HP in December 2012, stay tuned for my hands on review of the unit!

Categories: General Tags:

Visual Studio 2012–Where’s my Business Intelligence

March 18, 2013 Leave a comment

For those that have been using Visual Studio 2010 to do BI, you will realize by now that Visual Studio does have come with any of the Business Intelligence projects

image

Just off the oven, you can now goto http://www.microsoft.com/en-us/download/details.aspx?id=36843 to download “Microsoft SQL Server Data Tools – Business Intelligence for Visual Studio 2012”

Once downloaded and installed, you will now be able to see Business Intelligence projects inside Visual Studio 2012

image

Categories: ASP.NET, SQL Server

ASP.NET MVC4– How to use a Database First EF in a MVC controller

February 19, 2013 1 comment

Typically when you generate an Entity Framework (.edmx) from database and then try to create a MVC controller with read/write actions based on this Entity Framework, you will get the following error

 

xxx is not part of the specified Entity class, and the Entity Class could not be modified to add a DbSet<xxx> property to it. (For example, the Entity class might be in a compiled assembly)

image

 

Typically when you follow the steps, you will end up with the screen below, which will give you the error above when you click Add

image

 

For some strange reason, this DOESN’T work well with Database first EF, but it works properly with Code First EF.

To get it to work, all you need to do is to

1. Compile the project

2. Manually type in the Data context class (or remove the text in brackets)

image

 

Now clicking Add will do the neccessary

Categories: ASP.NET, MVC

Windows Server–DFSR Cheat Sheet

January 20, 2013 Leave a comment

Command: dfsrdiag pollad

Use this command to force DFS to poll AD for configuration updates

Typically used when changes to DFS are not being implemented, use this to force the update

 

Command: dfsradmin membership set /rgname:[replication group name]
/rfname:[replication folder name] /memname:[primary server name] /isprimary:true

 

Use this command to set a particular server as the primary member

Typically used when you add a new folder target in DFS and want it to sync from another server, or to set one of the server as a primary member. IsPrimary will be false once the sync is completed

 

Command: robocopy [destination] /copyall /s /xd dfsrprivate /r:1 /w:1

Robocopy the entire folder from source to destination, used to preseed the destination so that DFS will not take too long to sync

 

Location of DFS debug files: C:\windows\debug

Categories: Windows Server

Installing Windows 8 on a Pre 2010 MacBook Pro

October 1, 2012 Leave a comment

Installing Windows 8 on Macbook

If you were to put in the Windows 8 CD and try to boot from the CD, you will get to a weird screen which gives you 2 options

1. [blank]

2. [blank]

Select CD-Rom Boot Type:

 

pressing either 1 or 2 just does not work.

 

To get it to work, you will need to create a special iso file

  1. Download the windows 8 x86 iso
  2. Extract the iso files to C:\Win8
  3. Download oscdimg.exe
  4. Run the following command

    oscdimg –n –m –bc:\win8\boot\etfsboot.com c:\win8 c:\win8dvd.iso

  5. Burn c:\win8dvd.iso
  6. Insert this media into your macbook
  7. Power on the macbook and hold the option key
  8. select the dvd rom, boot and install Windows 8

Once everything is done, you will be able to start up to windows 8

 

Windows 8 Drivers

You will have to ensure that you have version 3.0 of boot camp, and download 3.1 and 3.2 off Apple Support. Alternatively you can get it at http://cdn.eilenia.com/public/

  1. Browse version 3.0 disk
  2. Goto Drivers\Apple
  3. Right click on bootcamp.msi, click properties –> compatibility
  4. Check “Run this program in compatibilty mode for”
  5. Select “Previous version of windows”
  6. Click ok
  7. Double click bootcamp.msi and follow the steps to install
  8. During the process, you may get some errors, click on ignore
  9. Reboot the mac
  10. Now install version 3.1 of the boot camp drivers and reboot
  11. Finally install version 3.2 of the boot camp drivers and reboot
  12. Once you reboot, you will be able to see the Apple Boot Camp icon and you are good to go!
Categories: Windows

Android: Unable to install Titanium Backup

September 28, 2012 Leave a comment

You might get some weird errors when installing or upgrading Titanium Backup.

 

To fix this, delete the file data/app/com.keramidas.titaniumbackup-1.odex

Categories: Uncategorized

Enabling dual date format output for JSON.NET for .NET v 4.5

September 28, 2012 Leave a comment

Adding on to http://jefferytay.wordpress.com/2012/05/09/enabling-dual-date-format-output-for-json-net/ 

 

You will find that the code segment is no longer found in JSON.NET for .NET v4.5. This is because things have been changed between .NET 4 and .Net4.5

 

You now need to find the function called SerializeObject

image

private void SerializeObject(JsonWriter writer, object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
    {
      contract.InvokeOnSerializing(value, Serializer.Context);

      _serializeStack.Add(value);

      WriteObjectStart(writer, value, contract, member, collectionContract, containerProperty);

      int initialDepth = writer.Top;

      foreach (JsonProperty property in contract.Properties)
      {
        try
        {
          object memberValue;
          JsonContract memberContract;

          if (!CalculatePropertyValues(writer, value, contract, member, property, out memberContract, out memberValue))
            continue;

          writer.WritePropertyName(property.PropertyName);
          SerializeValue(writer, memberValue, memberContract, property, contract, member);
        }
        catch (Exception ex)
        {
          if (IsErrorHandled(value, contract, property.PropertyName, writer.ContainerPath, ex))
            HandleError(writer, initialDepth);
          else
            throw;
        }
      }

      writer.WriteEndObject();

      _serializeStack.RemoveAt(_serializeStack.Count – 1);

      contract.InvokeOnSerialized(value, Serializer.Context);
    }

Again we are looking at the code in bold, replace it with

if (memberValue != null && memberValue.GetType() == typeof(DateTime))
         {
             writer.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat;
             writer.WritePropertyName(property.PropertyName);
             SerializeValue(writer, memberValue, memberContract, property, contract, member);

             writer.DateFormatHandling = DateFormatHandling.IsoDateFormat;
             writer.WritePropertyName(property.PropertyName+"_js");
             SerializeValue(writer, memberValue, memberContract, property, contract, member);
         }
         else
         {
             writer.WritePropertyName(property.PropertyName);
             SerializeValue(writer, memberValue, memberContract, property, contract, member);
         }

Categories: ASP.NET
Follow

Get every new post delivered to your Inbox.