How can you tell if modules/components in your application are loosely-coupled between each other, and tightly cohesive internally? You could read the code line-by-line, but that becomes difficult once the codebase becomes large.
It can be very valuable to be able to visualise the the dependencies between the various components that make up your application – both at the class and module/assembly level. These tools analyse code, either by parsing the source code, or by analysing the compiled assemblies to produce various summaries and reports about the state of the code.
I’m planning to spend a bit of time in future blog posts reviewing a number of these tools that can help with this analysis, including:
I bought the 1645 in 2010, so I was expecting to buy something that represented 6 years of technology improvements. So far I think the 15 delivers that.
512GB SSD (PCIe)
4K Ultra HD (3840 x 2160) touch display
Out of the box, the top row of the keyboard defaults to the feature keys. I make use of the Function keys (F1, F2, etc) much more than I'd use the feature keys (Mute, Volume Up/Down, etc) so I went into the UEFI firmware settings and changed that to default to function keys.
Here’s a comparison of the keyboards of the 1645 and 15 (the shiny strip above the main keyboard on the 1645 has the feature keys). Obviously fashions change too – from glossy/shiny to matte.
I HATE touchpads that simulate a mouse click with a single tap. Maybe it's my hands but I find I end up 'clicking' a lot more than I intended. So it's another thing I try to disable if possible. On the 1645 this was done through the Synaptics touchpad driver, but that isn't present on the 15. Instead it turns out that's a setting provided by Windows itself.
Old and new comparison
Here’s the 15 sitting on top of the 1645, to show it’s slightly smaller.
Side views show the 15 is a fair bit slimmer. The 1645 comes with VGA, HDMI and DisplayPort ports – the 15 just has a single HDMI, but you can get an external adapter with a second HDMI and VGA (as well as extra USB and Ethernet). No DVD drive in the 15 either!
The rubber feet of the 1645 fell off a while ago – both the ones on the base of the laptop and the ones fixed to the battery bar. The 15 has two rubber strips. Time will tell if they last longer.
My 1645 weighs 3.065kg. I’m pleased to see the 15 weighs only 2.040kg. (For those days when I need to carry it around, my back is also pleased!)
It’s not easy to show the difference in displays, but this gives you a bit of an idea of the 4K display of the 15 next to the standard 1080 of the 1645. It doesn’t show up here, but the 1645 screen also got quite scratched over the years from rubbing against the keyboard. Probably made worse from the extra rubber pads falling off that should have prevented this. I’m looking into getting a protective cloth for the new laptop to try and reduce the chance of that happening again.
And check out the disk performance – almost 10x faster with the PCIe SSD – nice!
Finally, I’d forgotten what it was like to have a battery that holds a decent amount of charge (the 1645 might say it has 1:45 left, but that’s pretty optimistic). I can sit on the sofa with the XPS 15 and it lasts the whole evening. Wow
As a developer, I’ve often installed the latest CU (cumulative update) just because I like to be current on my own PC – but I’ve traditionally been more conservative with production SQL Servers that I’ve had to look after over the years. In the latter case I’ve installed the latest service pack, but only added a CU if it seemed likely to address any issue we might be having at the time.
With this change, now pushing out the latest CU can be done with more confidence and probably should be considered part of maintaining your SQL Server infrastructure. Quoting from the above article:
You should plan to install a CU with the same level of confidence you plan to install SPs (Service Packs) as they are released. This is because CU’s are certified and tested to the level of SP’s.
A few years back I remember thinking that the SQL Server team had really set the standard for releasing regular updates for their products (especially compared to the lack of updates at the time to fix problems with older versions of Visual Studio 2005/2008). Since then the VS team have upped their game, and now they are pushing new major servicing updates out around every quarter. That doesn’t include out-of-band updates to VS extensions that are done more frequently.
So it’s great to see the SQL Server team stepping up the pace another notch.
A quick shout-out to Flinders Medical Centre’s Redesigning Care. They implemented Lean a few years ago to improve how their hospital functioned. After hearing about what Lean was and what they were doing, I then discovered that Lean had been applied to developing software too.
If you’re interested in learning more about Lean in a healthcare setting, contact them via their webpage, or check out their overview video on YouTube
So after a bit more research, I’ve come up with a shortlist of laptops to consider. Most vendors (with the exception of HP and Microsoft) give you quite a few options to customise during the order process. For my own reference, I’ve also included the specs of my current laptop – the Dell XPS 1645 – to contrast how hardware has progressed over the last 5-6 years.
Xeon® E3-1505M v5 (2.80 GHz, up to 3.70 GHz), 4 cores)
Intel Core i7-6600U Processor (up to 3.40GHz)
i7-6600U (2.6 up to 3.4 GHz)
8GB Dual-channel 1333MHz DDR3 SDRAM (2 x 4GB)
8GB LPDDR3 1866MHz
16GB Dual Channel DDR4 2133Mhz (8GBx2)
8GB (1x8GB) 1600MHz DDR3L
8 GB DDR4-2133 (1 x 8 GB)
16GB LPDDR3 SDRAM 1866MHz
500GB 7200RPM SATA Hard Drive
256GB PCIe Solid State Drive
512GB PCIe Solid State Drive
256 GB HP Z Turbo Drive PCIe SSD
512GB Solid State Drive, PCIe-NVMe
Video Card -ATI Mobility RADEON(R) HD 4670 - 1GB
Intel(R) HD Graphics 520
NVIDIA® GeForce® GTX 960M with 2GB GDDR5
Intel® Integrated HD Graphics 5500
NVIDIA® Quadro® M1000M (2 GB dedicated GDDR5)
Intel HD Graphics 520
Intel HD Graphics 520 + Nvidia GeForce 940M GPU with 1 GB of memory
15.6 Full High Definition(1080p) 1920x1080
13.3 inch QHD+ (3200 x 1800) InfinityEdge touch
15.6" 4K Ultra HD (3840 x 2160) InfinityEdge touch
14.0 FHD (1920x1080)
15.6" diagonal FHD UWVA IPS anti-glare LED-backlit (1920 x 1080)
14" FHD (1920x1080), IPS, 10-point Multi-Touch
13.5” PixelSense™ 3000 x 2000 (267 PPI) 10 point multi-touch
Wireless Network Card -Intel(R) WiFi Link 5300 (802.11a/g/n) Half Mini-c
DW1820A 2x2 802.11ac 2.4/5GHz + Bluetooth4.1
DW1830 3x3 802.11ac 2.4/5GHz + Bluetooth 4.1
Intel Dual Band Wireless-AC 7265AC 802.11ac/a/b/g/n 2x2 + Bluetooth 4.0 LE
Intel® Dual Band Wireless-AC 8260 802.11 a/b/g/n/ac (2x2) Wi-Fi and Bluetooth® 4.0 combo
Intel Dual Band Wireless-AC 8260, 2x2, Wi-Fi + Bluetooth 4.1, vPro
802.11ac Wi-Fi wireless networking; IEEE 802.11a/b/g/n compatible Bluetooth 4.0
9-cell (85WHr) Lithium Ion
56WHr Integrated Battery
4-cell 52 Whr Lithium Polymer
4-cell 64 WHr Li-ion prismatic
4 Cell Li-Polymer Battery 52Wh
Dimensions (W x D x H)
380 x 260 x ?
304 x 200 x 15
357 x 235 x 17
337 x 232 x 20
375 x 255 x 18
333 x 229 x 17
232 x 312 x 23
3-Year Premier Service
3Yr ProSupport : Next Business Day Onsite Service
3Yr ProSupport : Next Business Day Onsite Service
3 Yrs Next Business Day Onsite Service
3 years standard parts, labour and on-site limited warranty
3Y On-site NBD upgrade from 1Y Depot/CCI
2-year hardware warranty
Price (as at 25th Feb 2016)
$2,100 (as at 2010)
Where choice was offered, maximum CPU and memory selected
All prices in Australian dollars, including GST. Enterprise agreements or other arrangements/discounts/specials might give better prices.
Enterprise and/or special business programs may offer additional hardware choices/customisations.
Where offered, 3 year support was chosen
No Office subscription was included
Windows 10 Pro 64bit
I think I’ll forget about a Xeon CPU - can’t justify the premium price. Maybe one day!
Most of these devices have built-in batteries, so the option of buying a spare battery (like I did with my 1645) simply doesn’t exist these days.
Looking at that list, I think the models that stand out are the XPS 15, X1 Yoga and Surface Book. I’ve probably been looking most closely at the Yoga, but the XPS deserves some closer attention – especially as the price seems a bit more affordable. The Surface Book looks nice, but for me I think it’s in 3rd place behind the other two.
Let me know of any corrections or suggestions for other models that I should consider and anything I’ve overlooked.