The Ultrabook Quest Continues

I’ve been continuing my research and deliberations over a new laptop, and am still leaning towards the ultrabook form factor. As to be expected there is no perfect, no-brainer solution, at least for me. What I have been able to do is prioritize the features I need.

Since my primary need is for a presentation machine I can use in conjunction with my Brix Hyper-V server, 8GB or RAM is sufficient. I still plan on running a VM or two on the laptop so I know I want the most horsepower I can get which for me means an SSD drive and most likely a 4th generation i7. That’s the easy part.

Since I only purchase equipment like this every 3-4 years I try to future proof as much as I can. Looking forward I would say USB3 and 802.11AC should be important considerations.

Here is a table I’ve been using to organize my research. At this point I’d say these are the front runners.

Model: ASUS Zenbook UX301LA-XH72T
RAM: 8
HDD: 2×256 RAID 0
Display: 13.3? Quad HD IPS Display (2560 x 1440)
USB 3 Ports: 2
Mini Display: yes
HDMI: yes
WiFi: 802.11AC
Weight: 2.60
Comments: great accessories
Price: $2,200.00

Model: HP Spectre 13t-3000
RAM: 8
HDD: 256
Display: 13.3-inch diagonal Vivid QHD Infinity LED-backlit Display (2560×1440) Touchscreen
USB 3 Ports: 2
Mini Display: yes
HDMI: yes
WiFi: 802.11AC
Weight: 3.30
Comments: inlcudes adapters. Beats Audio. Box 50GB lifetime
Price: $1,500.00

Model: X1 Carbon
RAM: 8
HDD: 256
Display: 14.0″ QHD (2560×1440) IPS
USB 3 Ports: 2
Mini Display: yes
HDMI: yes
WiFi: Intel Dual Band Wireless 7260AC with Bluetooth 4.0
Weight: 2.83
Comments: 512GB SSD is an option. Fast recharge. Battery could be an issue
Price: $2,029.00

Model: Yoga 2 Pro
RAM: 8
HDD: 512
Display: 13.3″ QHD+ LED Glossy Multi-touch with integrated camera (3200×1800)
USB 3 Ports: 1
Mini Display: no
HDMI: micro
WiFi: Intel Wireless-N 7260 (802.11bgn) single band
Weight: 3.10
Comments: 1 USB 2 powered. Orange. Wifi could be replaced.
Price: $1,600.00

Model: Thinkpad Yoga
RAM: 8
HDD: 256
Display: Touch & Pen, FHD (1920 x 1080)12.5″ display
USB 3 Ports: 2
Mini Display: no
HDMI: mini
WiFi: Intel Dual Band Wireless 7260A
Weight: 3.50
Comments: one USB3 powered
Price: $1,900.00

Model: Macbook Air 13″
RAM: 8
HDD: 256
Display: 13″ 1440×900
USB 3 Ports: 2
Mini Display: yes
HDMI: no
WiFi: 802.11AC
Weight: 3.00
Comments: 512GB add $300. Adapters extra.
Price: $1,549.00

Model: Macbook Pro with Retina 13″
RAM: 16
HDD: 512
Display: 13″ 2560×1600
USB 3 Ports: 2
Mini Display: yes
HDMI: yes
WiFi: 802.11AC
Weight: 3.50
Comments: adapters extra
Price: $2,200.00

I love the SSD RAID0 option on the Zenbook. If the Yoga 2 had 2 USB3 ports that would have been a game changer for me. But it is still in the running. I’ve even considered going the MacBook route and running Windows 8 either in BootCamp or natively, although I suspect the process is more complicated than I want to get into. Still, you can’t deny the appeal of the hardware. Overall, it would seem the HP Spectre has a slight edge for my money.

Is there anything missing you think I should seriously consider? Anything here you think I should run away from?

Friday Fun PowerShell Puzzlers

letterjumble This week’s Friday Fun is a short PowerShell puzzler which I hope you’ll have some fun with and maybe even lead you to look something up and how knows what that might lead to! The following scrambled terms are all PowerShell related. The ones asterisked are PowerShell 3.0 related, but you’ve probably heard about the concept even if you aren’t running 3.0. I hope you had a great week so take a few minutes to have a little fun.

Unscramble the following words:

1. saila
2. swanm
3. oldeum
4. bestjcop
5. pinepile
6. lorwokwf*
7. diverwig
8. tramapeer
9. vipersons
10. secmission*

Stumped? Download the answers. If you like this sort of thing, be on the look out for the Dr. Scripto Funbook at TechEd North America.

Friday Fun – Get Happy Holiday

Today’s Friday Fun is my version of a script originally posted a few years ago by The PowerShell Guy. I’ll list the code but you really need to run it to enjoy it.


#requires -version 2.0

#This must be run from the PowerShell console. NOT in the ISE.

#this is based on a script originally posted by The PowerShell Guy
#http://thepowershellguy.com/blogs/posh/default.aspx

$Greeting = "$([char]14) **Happy Holidays** $([char]14)"

Clear-Host
Write-host "`n"
$Peek = " ^ "
$tree = "/|\"
$i = 20
$pos = $host.ui.rawui.CursorPosition
#adjust to center the display
$offset = ($host.ui.rawui.WindowSize.Width - 72)/2

write-host -fore 'red' ($peek.PadLeft($i-1).PadRight(36) * 2)
write-host -fore 'green' ($tree.PadLeft($i-1).PadRight(36) * 2)

1..16 | Foreach {
#build out the tree
$tree = $tree -replace "/(.*)\\",'//$1\\'
write-host -fore 'green' ($tree.PadLeft($i).PadRight(36) * 2)
$i++
}

write-host -fore 'green' ("|||".PadLeft(19).PadRight(36) *2 )
write-host -fore 'green' ("|||".PadLeft(19).PadRight(36) *2)

$rect = New-Object System.Management.Automation.Host.Rectangle
$rect.top = $pos.y
$rect.Right = 70
$rect.Bottom = $pos.y + 19
$buffer = $host.ui.rawui.getbuffercontents($rect)
#random number object
$R = new-object system.random
$ball = new-object System.Management.Automation.Host.BufferCell
$ball.backgroundColor = $host.ui.rawui.BackgroundColor

1..150 | ForEach {
sleep -Milliseconds 100
#get a random position
$rx = $r.Next(19)
$ry = $r.Next(70)

#define a collection of figures to be used as ornaments
$ornaments = '@','*','#',":"
#get a random ornament
$ball.Character = Get-Random $ornaments
$ball.ForegroundColor = $r.next(16)

if ($buffer[$rx,$ry].Character -eq '/') {$buffer[$rx,$ry] = $ball}
if ($buffer[$rx,$ry].Character -eq '\') {$buffer[$rx,$ry] = $ball}
$host.ui.rawui.SetBufferContents($pos,$buffer)
}

#write the greeting centered
$pos.y = $pos.y + 22
$pos.x = 36 - (($Greeting.Length)/2)
$host.ui.rawui.CursorPosition=$pos

Write-Host $Greeting -Fore 'red'

This is probably the epitome of PowerShell fun: not practical in any way but still done with PowerShell. Enjoy.

Download Get-HappyHoliday

Surviving the Zombie Apocalypse

I got this announcement the other day for a Halloween webinar and the title is just too cool not to share: “Surviving the Zombie Apocalypse: Protecting Both Your Brains and Your Data.” I hope it goes without saying that data protection is a big part of an IT Pro’s job so anything we can learn is an asset. This webinar uses the zombie apocalypse as an effective metaphor for data management.

  • On the defense. Zombies not only go after the biggest brains, but the most data as well, so deduplication is critical.
  • On the run. Remember, you don’t have to run faster than the zombies, you just have to run faster than the other IT people. Use all-in-one backup, archiving, and disaster (zombie) recovery appliances to stay ahead of your peers.
  • Living in an undead world. Even if zombie overlords rule the planet, cash will still be king. Make every dollar count by ensuring that your backup vendor isn’t nickel and diming you to death. Because death isn’t an option in an undead world.

The free live webinar is on October 31 at 12:30 PM EST. Learn more and register at here.

Quick and Dirty Excel from PowerShell

I continue to tinker with Office applications and Windows PowerShell. I was looking at an Excel issue related to opening a new workbook. To verify the problem wasn’t PowerShell related I offered a suggestion to try creating an Excel workbook in VBScript.

In VBScript creating a blank workbook in Microsoft Excel can be accomplished with three lines of code.


set xl=wscript.createObject("Excel.Application")
set wb=xl.workbooks.add()
xl.Visible=vbTrue

In Windows PowerShell we essentially use the same 3 lines.


$xl=new-object -com "excel.application"
$sb=$xl.Workbooks.Add()
$xl.Visible=$True

But PowerShell is all about the objects, so how about a quick and dirty approach? Something perhaps in one line:


PS S:\> ((new-object -com "excel.application").Workbooks.Add()).application.Visible=$True

You could easily build a simple function to run the 3 lines it takes to open a new Excel workbook but one-liners like this make me smile. Granted, I’m probably not likely to use it, but if nothing else I think it reinforces the object nature of Windows PowerShell.

Each expression nested in () is treated as an object. The inner most expression using New-Object, creates the Excel application object which has a Workbooks property that is an object with an Add() method. Invoking this method creates the workbook object. If I stopped there Excel would be running but not visible. So I get the Application property of the workbook object, and set the Visible property to True.

This command doesn’t offer any way to continue working with Excel from PowerShell; it only opens a new workbook. Let me be clear, I’m not advocating that this is how you work with Excel from PowerShell. I think you will need scripts like the ones I posted from my Deep Dive session. But this one-liner demonstrates what is possible with PowerShell and maybe it will add a little smile to your day as well.