Jan 26, 2017

The Microsoft Surface Studio Review

Microsoft has only been in the PC system game for a few years now, but over the last couple of years they __have made a lot of progress rather quickly. These days they __have a solid foundation of products available, with the Surface Pro 4 being one of the best convertible tablets, the Surface Book being a very solid convertible laptop, and also the more specialized products like the Hololens, and Surface Hub. Going into their October 2016 event, the one missing piece of their PC product lineup was a desktop computer, but with the announcement and release of the Surface Studio, that particular gap has now been filled.

But the Surface Studio is not your typical desktop PC. Even at first glance, the sleek, beautiful lines are readily apparent, and once powered on, it is rare for anyone to first glimpse the 28.125-inch 4500x3000 display and not say “wow”. It’s not only the very high resolution, but also the 3:2 aspect ratio that is unheard of in this segment, that makes the display stand out as something unique.

Microsoft has become one of the superlative hardware manufacturers in only the short span of four years or so, and the Surface Studio is one of their finest designs yet. However, from the very first Surface RT, Microsoft always tries to add something different, but more importantly interesting, to their designs, and in the case of the Surface Studio, it is the zero-gravity hinge, which allows the all-in-one to be quickly and easily tilted back to a 20° angle, letting it be used as a huge, digital drafting table. Microsoft announced the Surface Studio at their October Windows event, where they also announced the next Windows 10 Update, called the Creator’s Update, and it is wonderful to see them building hardware to truly bring out the exclusive features of their software.

Packed into the base of the Surface Studio is a laptop-class computer, with three different models available now. The base model, coming in at $2999, features an Intel Core i5-6440HQ processor, 8 GB of memory, a 1 TB hybrid drive with a 64 GB SSD cache, and a NVIDIA GeForce GTX 965M GPU. The mid-level model, which costs $3499, bumps the CPU up to an Intel Core i7-6820HQ, doubles the RAM to 16 GB, and doubles the SSD cache to a PCIe 128 GB model, with the same 1 TB HDD and GTX 965M. The highest priced model, at $4199, is an Intel Core i7-6820HQ, 32 GB of RAM, a 2 TB hybrid drive with a 128 GB PCIe cache, and a NVIDIA GTX 980M GPU with 4 GB of memory.

Microsoft Surface Studio
  Base Middle Top (As Tested)
CPU Intel Core i5-6440HQ
Quad-Core, 2.6-3.5 GHz
6 MB Cache, 45W TDP, No Hyperthreading
Intel Core i7-6820HQ
Quad-Core, 2.7-3.6 GHz
8 MB Cache, 45W TDP, Hyperthreading
GPU NVIDIA GTX 965M
1024 CUDA Cores
944 Mhz + Boost
2 GB GDDR5 128-bit memory
NVIDIA GTX 980M
1536 CUDA Cores
1038 Mhz + Boost
4 GB GDDR5 256-bit memory
RAM 8 GB DDR4 16 GB DDR4 32 GB DDR4
Storage 1 TB Hybrid Drive
64 GB SATA SSD Cache / 1 TB SATA HDD
1 TB Hybrid Drive
128 GB PCIe SSD Cache / 1 TB SATA HDD
2 TB Hybrid Drive
128 GB PCIe SSD Cache / 2 TB SATA HDD
IO 4 USB 3.0 ports - one high power port
Full size SD Card Slot
Headset Jack
Xbox Wireless Connectivity
DisplayPort
Display 28.125-inch PixelSense Display
4500 x 3000 resolution
192 DPI
sRGB, DCI-P3, P3 D65 color modes
Webcam 5 MP Webcam
Windows Hello Facial Recognition
Networking Marvel AVASTAR 802.11ac
Intel I219-LM Gigabit Ethernet
Price $2,999 $3,499 $4,199

There was quite a bit of discussion at the time of the Surface Studio launch over the fact that it was equipped with older technology. Intel’s Kaby Lake quad-core parts just launched at CES this year, so Skylake quad-core CPUs were the latest generation available at launch. The Maxwell based graphics options chosen were not the latest generation mobile graphics from NVIDIA, with the GTX 965M and GTX 980M available in the Studio. The Pascal based GTX 1060 and GTX 1070 would have been much more powerful substitutes, but they are not pin-compatible drop-in components with the Maxwell GPUs in the Surface Studio, meaning a new board design and thermal considerations would have been necessary late in the design phase, and Microsoft appears to have been conservative here to avoid missing their launch window.

Microsoft has also been very conservative with their I/O choices, with four USB 3.0 Type-A ports on the back of the Studio, along with a SD card slot, and mini DisplayPort. As with the Surface Pro 4 and Surface Book, Microsoft has continued to provide only the older USB-A ports, and not even offer a single USB-C port, let alone with Thunderbolt. Anyone purchasing a Studio will likely be using it for several years, and the lack of USB-C is going to be an issue in the future, if not already today. The Surface team really needs to reconsider this as it is already a detriment to not include any.

There also must be some questions raised about the use of a hybrid drive in a PC of this price. We’ll dig in to the experience later, but Microsoft could and should offer a larger SSD as the boot disk, complimented by a HDD as a secondary disk, at least on the highest end model. A 512 GB NVMe SSD as the boot drive would appease much of the criticism. The computer does cost over $4000 after all, and while much of the cost of the device is in the display, SSDs have been the biggest improvement in user experience on the PC in a long time.

Jan 25, 2017

How to Modify Lists in Python

You can modify the content of a list as needed with Python. Modifying a list means to change a particular entry, add a new entry, or remove an existing entry. To perform these tasks, you must sometimes read an entry. The concept of modification is found within the acronym CRUD, which stands for Create, Read, Update, and Delete. Here are the list functions associated with CRUD:

append(): Adds a new entry to the end of the list.

clear(): Removes all entries from the list.

copy(): Creates a copy of the current list and places it in a new list.

extend(): Adds items from an existing list and into the current list.

insert(): Adds a new entry to the position specified in the list.

pop(): Removes an entry from the end of the list.

remove(): Removes an entry from the specified position in the list.

The following steps show how to perform modification tasks with lists.

1Open a Python Shell window.

You see the familiar Python prompt.

2Type List1 = [] and press Enter.

Python creates a list named List1 for you.

Notice that the square brackets are empty. List1 doesn’t contain any entries. You can create empty lists that you fill with information later. In fact, this is precisely how many lists start because you usually don’t know what information they will contain until the user interacts with the list.

3Type len(List1) and press Enter.

The len() function outputs 0. When creating an application, you can check for an empty list using the len() function. If a list is empty, you can’t perform tasks such as removing elements from it because there is nothing to remove.

Typing Len(list1) on Python users can check if they   empty lists on their application.

4Type List1.append(1) and press Enter.

Check for empty lists as needed in your application.

5Type len(List1) and press Enter.

The len() function now reports a length of 1.

When users type List1[0] on Python they will see the value stored in element 0 of that list.

6Type List1[0] and press Enter.

You see the value stored in element 0 of List1.

7Type List1.insert(0, 2) and press Enter.

The insert() function requires two arguments. The first argument is the index of the insertion, which is element 0 in this case. The second argument is the object you want inserted at that point, which is 2 in this case.

Python can add elements to the list when you type List1.insert(0,2) and press enter.

8Type List1 and press Enter.

Python has added another element to List1. However, using the insert() function lets you add the new element before the first element.

9Type List2 = List1.copy() and press Enter.

The new list, List2, is a precise copy of List1. Copying is often used to create a temporary version of an existing list so that a user can make temporary modifications to it rather than to the original list. When the user is done, the application can either delete the temporary list or copy it to the original list.

10Type List1.extend(List2) and press Enter.

Python copies all the elements in List2 to the end of List1. Extending is commonly used to consolidate two lists.

Python shows the changes users   made to list when they type list1.

11Type List1 and press Enter.

You see that the copy and extend processes __have worked. List1 now contains the values 2, 1, 2, and 1.

If users type List1.pop(), Python will remove the value from the end of the list.

12Type List1.pop() and press Enter.

Python displays a value of 1. The 1 was stored at the end of the list, and pop() always removes values from the end.

13Type List1.remove(1) and press Enter.

This time, Python removes the item at element 1. Unlike the pop() function, the remove() function doesn’t display the value of the item it removed.

14Type List1.clear() and press Enter.

Using clear() means that the list shouldn’t contain any elements now.

15Type len(List1) and press Enter.

You see that the output is 0. List1 is definitely empty. At this point, you’ve tried all the modification methods that Python provides for lists. Work with List1 some more using these various functions until you feel comfortable making changes to the list.

16Close the Python Shell window.

Congratulations on a job well done!

What Is Soldering and How Do You Use Solder Tools?

Soldering (pronounced “soddering”) involves a material called solder that melts when placed on a hot object; the melted solder cools and forms a bond between two items. Your most basic soldering tool is a soldering iron with a soldering station.

A soldering station holds your hot soldering iron and keeps your solder and tip cleaner organized. Purchase a small 15- to 30-watt soldering iron made for electronics and a soldering station. Also buy thin .032-inch-diameter rosin-core solder. You can purchase these at your local Radio Shack and other places.

Don’t use a big soldering iron and the big 1/4-inch, acid-core solder used for plumbing, which are typically found at home improvement stores. If you do, you might damage sensitive electronic components. Use rosin-core solder to form the bond in your projects.

Figure 1 shows the basic process of soldering. Figure 2 zooms in on the process.

Soldering requires the right tools and a little skill.
Figure 1: Soldering requires the right tools and a little skill.
Here
Figure 2: Here’s soldering, close up.

How to solder

The best technique for soldering is simple, so repeat this mantra: Heat the metal, not the solder. For example, you heat the metal of a component pin and the metal of a circuit board pad simultaneously, and then you touch the tip of the rosin-core solder to the pad or the pin, but not to the iron. If you __have sufficiently heated the two metals (the pad and the pin), they will heat the solder, which then flows quickly to both the pad and the component pin. See Figure 3 for an example of good and bad solder joints.

A bad solder joint (on the left) — and a good one (on the right).
Figure 3: A bad solder joint (on the left) — and a good one (on the right).

It’s also important to know which piece to solder to which other pieces. For example, a pad is the little copper metallic doughnut around a circuit board hole that you can put a component pin through. A trace is one of the copper lines on the circuit board. You usually solder a component to a pad, not directly to a trace.

When you need to undo solder mistakes

If you do make a mistake with solder, you’ll be glad to know that you can undo a bad solder. One method is to just heat up the bad solder and then suck it away with a solder sucker, a desoldering pump you can purchase.

Another way to remove unwanted solder is to use copper braiding. You put the braiding on top of the solder that you want to remove and heat it with your soldering iron. The copper braiding absorbs the unwanted solder. You then discard the used copper braiding.

Ten tips for successful soldering

Because soldering is an important skill, you’ll want to master the basic techniques quickly. Here are some essential tips to good soldering:

  • Remember the old joke about knowing which end of the soldering iron to hold on to? Seriously, a soldering iron can burn you or cause a fire. Liquid solder can cause severe burns too, so always use caution when melting solder.
  • When you solder something, it will remain hot for many minutes. Always grab parts with pliers to avoid getting burned even after the soldering iron is removed.
  • Purchase the correct solder type and width, as well as the correct soldering iron and tip. Think small tip and thin solder.
  • Some soldering kits include training materials to help you master the art of soldering. Although people can tell you how to solder, good soldering requires hands-on experience. Take the time to solder a few cheap test components into a test prototype board to get your technique down before using your skills on somewhat more costly electronic parts.
  • If your solder looks like a clump of wadded-up aluminum foil, you’ve soldered it incorrectly. The solder should look smooth and shiny and must cling to both items (for example the component pin or wire and PCB pad) to make a good connection.
  • Incorrect soldering (such as cold solder joints) can lead to all sorts of problems that can be hard to track down.
  • Be careful not to apply your soldering iron for long periods of time. Otherwise, you can damage sensitive components or burn up a circuit board trace. You should solder quickly so that your components or trace don’t stay hot for too long.
  • You should always make a mechanical connection before making a solder connection. For example, check to make sure the component pin actually touches the wall of the pad hole before you solder it. This will ensure that your soldering goes quickly and smoothly and will help to keep a solder joint from “bridging” to the pin and separating.
  • You may want to flux before soldering to get a cleaner solder. Flux is a pasty, greasy, oily substance that helps to clean the metallic surfaces being soldered. It also helps you produce smooth solder joints that adhere well to pin and pad surfaces.
    Rosin-core solder has flux conveniently within the solder, so fluxing is usually not necessary. However, for a dirty or older solder joint, where the flux may __have dissipated, you may want to brush a little flux on to help you rework the old solder joints and make them clean and smooth again. You can purchase a small can of flux at just about any electronics store.
  • Only experience will tell you if you have soldered correctly, so ask an experienced soldering friend to check your work. Doing so can save you hours of debugging time later.

Keep your soldering tools clean

You should perform preventative maintenance and regular cleaning to prolong your soldering iron’s life. Don’t let your soldering iron tip get dirty. While your soldering iron is hot, clean the tip often with a bit of tip cleaner and a moist sponge or paper towel. Remember: A dirty soldering iron will make terrible solder joints.

While your soldering iron is hot, you may want to tin the tip with solder to get it shiny and clean and to remove any dross or rosin. Tinning also helps prevent oxidation. To tin the tip, get your soldering iron hot and then coat the tip with solder. Your tip should look like chrome or silver.

Always unplug your soldering iron when you’re finished using it to help prevent oxidizing and burning up the tip.

Jan 24, 2017

Other Hybrid NoSQL Databases

There are a few NoSQL databases that you will likely hear mentioned often — OrientDB and MarkLogic and maybe, ArangoDB. However, there are other hybrid NoSQL databases of interest.

FoundationDB

FoundationDB is an open-source, ACID-compliant key-value store. What’s unique about FoundationDB is that it’s designed to allow developers to efficiently plug in their own data management mechanisms over the key-value store.

FoundationDB’s extensions allow it to act as an efficient document store, a sparse table store, a vector store, and even a graph database. FoundationDB also provides an implementation of the BluePrints property graph API, which allows FoundationDB to be swapped with other property graph implementations that also support the BluePrints API, such as OrientDB and Neo4j. FoundationDB also supports an ANSI SQL query layer that allows any traditional relational database application to use it.

FoundationDB is only a couple of years old. It made waves when it was released because it supported ACID transactions from the get-go, whereas most open-source databases are slow in providing this functionality, which is required by businesses.

However, FoundationDB has some limitations:

  • It doesn’t support transactions lasting more than five seconds.

  • Each transaction can affect only 10MB of stored data.

  • Keys are limited to 10K, and values are limited to 100K.

  • Database only tested to 100TB of raw data.

OpenLink Virtuoso

Virtuoso doesn’t position itself as a NoSQL database, but as a multi-model data server. Coming, like MarkLogic Server, from an XML storage background, it now stores XML, RDF, free text, and relational tables.

Virtuoso supports several different data models in one product:

  • XML document database

  • SQL-compliant relational database (including joins and other common RDBMS functions)

  • RDF triple and quad store

  • Search (including full text and geospatial intelligence)

  • BPEL (Business Process Execution Language) processing engine for data-centric workflow

Virtuoso provides row-level (RDBMS) security, and attribute-based access control (ABAC) for subject-level security in its RDF store.

Version 6 of the commercial version of Virtuoso introduced clustering and high availability, and the current commercial version 7 introduced elastic cluster change support.

Virtuoso is a niche product, but it comes up a lot in the XML database arena. It acts as a virtual database layer on top of many storage engines, so it isn’t a true multi-model database; however, the approach is interesting.

Jan 20, 2017

3-Way Low Profile CPU Cooling Shoot-Out: Reeven, Phanteks, & Noctua

A good CPU cooler can usually be found at the top spots of an enthusiast’s shopping list, as stock coolers rarely are sufficient for the wants and needs of advanced users, especially when overclocking is involved. Choosing the right aftermarket product can be a little complicated, mostly depending on what the product’s focus is and the available budget. For example, some products __have been designed to be as quiet as possible while others strictly aim for maximum thermal performance and neglect acoustic comfort completely. Even if two coolers cost about the same, their behavior can be radically different, and it falls to the user to make a judicious choice according to his/her needs.

Whether the focus of the user is quieter operation or higher thermal performance, there is another factor that can make the purchase of a good cooler complicated: size. Sometimes you cannot just buy the best cooler for the job for the simple reason that it will not fit into the system. This is particularly true for compact and/or narrow cases, especially those meant for ITX systems and horizontal placement. With the majority of typical CPU coolers being tower-type constructs, it is difficult to find one that fits inside compact case designs.

To combat this, many manufacturers designed and produced horizontal coolers, i.e. coolers with the fin array placed horizontally instead of vertically. Horizontal coolers are much shorter than typical tower coolers and tend to cool the motherboard’s parts better as well, yet rumor has it that they do not perform as well as tower coolers. The truth is that size/mass is a major factor here as well, meaning that the horizontal designs are meant to be compact and usually just lack the mass of comparable tower cooler designs.

In today's review we will explore three such lower-profile coolers; the Reeven Steropes RC-1206b, the Phanteks PH-TC12LS and the Noctua NH-C14S. These horizontal coolers are all meant for desktop/HTPC designs but they also are significantly different in terms of size, with the Steropes starting at 60 mm tall, moving up to 74 mm with the PH-TC12LS and jumping up to 115/142 mm with the NH-C14S. In the following pages we will explore their design, quality and performance.

Horizontal GPU Cooler Roundup
  Reeven Steropes RC-1206b Phanteks PH-TC12LS Noctua NH-C14S
Fan(s) (mm) 120 (low profile) 120 140
Fan Speed (RPM) 2000 1800 1500
Height (mm/in) 60/2.4 74/2.9 115/4.53
142/5.6
Current Retail Price $40 $40 $75

Jan 19, 2017

Selecting a Nonprogrammable Robot Kit

Why not just build your own robot buddy out of scrap parts lying around the garage? Building a robot from scratch is not the best place to start. To transform common household items into useful components that actually fit together usually requires a drill press, a milling machine, and a welder. And you’d still __have to buy plenty of components that aren’t likely to be lying around the house. The process of building a robot from scratch requires a good design, a healthy dose of knowledge and skills, more time than most of us are willing to commit, and, frankly, a bucket full of money.

A better route is to use a robot kit. With a kit, some other poor soul gets to do the measuring, drilling, milling, and design. You get to __have the fun of putting together a working robot. It might not be capable of exploring the surface of Mars, but it would be a good springboard for your next project.

The most basic starter robotic kits are typically nonprogrammable robots. One good example of an easy-to-use nonprogrammable kit is the Soccer Jr. robot from OWI, Inc., which is shown in Figure 1.

The nonprogrammable Soccer Jr. robot
Figure 1: The nonprogrammable Soccer Jr. robot.

The little plastic Soccer Jr. robot not only performs a task but also offers some human interaction and control. The kit comes with a wired controller that allows it to move in any direction and capture and shoot small soccer balls (well, they’re actually ping-pong balls). You can even enter it in certain robot competitions.

The Hyper Line Tracker, shown in Figure 2, is an intermediate-level nonprogrammable robotic kit from OWI Kit. Unlike Soccer Jr., The Hyper Line Tracker requires no constant human interaction. Instead, it performs one preprogrammed task: following a line. You get to draw the line, which might be more fun than you think. Line following is not a useless task; many industrial robots that manage warehouses use a similar concept to navigate.


Figure 2: OWI Kit’s Hyper Line Tracker.

When choosing a nonprogrammable robot kit, start with a simple robot that you’re sure you can tackle and then progress to more advanced robots as your confidence and knowledge increases.

You’ll know you’ve bitten off more than you can chew when you give up halfway through building a robot. In that case, step back and don’t be afraid to start over and build an easier robot and then come back to the more challenging robot when you’re ready.

With basic kits, assembling a robot is similar to assembling a model airplane: You just follow step-by-step instructions, putting the little plastic part A into part B and so on until, voila, you have a finished product. All you may have to do when the construction is complete is insert some batteries and turn the power on.

Don’t be deceived into thinking that these robots are just expensive toys. Many are sophisticated and introduce you to essential robotic building principles.

Although nonprogrammable kits are simple, they still require basic skills. You may be required to solder parts onto a circuit board, connect wires, and test connections. You may also be required to have some basic building skills such as assembling plastic gearboxes, gluing plastic parts, and bolting parts together.

Before you begin, you should review the kit and assembly instructions to be sure that the kit is something you can handle. If you plan to give kits to your kids, you should definitely review the instructions and perhaps even build the robot yourself first. In a few cases, you may find that even a nonprogrammable kit may be more complicated than you expected.

Remotely-operated vehicles

Most nonprogrammable robots fall into two categories: remotely-operated vehicles and preprogrammed robots. Essentially, remotely-operated vehicles (ROVs) require human intervention to operate them, and preprogrammed robots don’t.

The most basic nonprogrammable robot is the remotely-operated vehicle. The type of vehicle might be controlled by radio signals, a wired tether, or some other means of remote signaling. The Soccer Jr. robot, described earlier, is also an ROV.

An ROV such as a radio-controlled (referred to by people in the know as simply RC) car may be robotic in nature, but it is not autonomous (meaning it requires human interaction to do what it does). Because these types of vehicles can’t operate on their own, some robot aficionados are reluctant to call them robots at all and instead refer to them as parabots.

Some examples of ROVs follow:

  • Radio-controlled battle robots such as those seen on television shows such as Battlebots and Robot Wars
  • Unmanned subs such as those sent to search the Titanic at the bottom of the ocean
  • Surgical telepresence systems that enable doctors to direct surgery on patients thousands of miles away

Preprogrammed robots

The other type of nonprogrammable robot is the preprogrammed robot. Preprogrammed robots are usually autonomous; that is, they require little or no human interaction for them to perform a task.

Many preprogrammed robots have a one-track mind. You turn them on and they do one thing, such as responding to a sound or following a line. These robots have one simple task or behavior that they carry out through hard-wired electronic circuits or preloaded computer software. Basically, the designer of a preprogrammed robot makes a decision to not allow the user to modify the behavior of the robot. This decision simplifies the robot’s design, as with the Comet robot from OWI, shown in Figure 3, which simply responds to sounds that make it move. With other preprogrammed models, you are allowed to program limited additional functionality.


Figure 3: The preprogrammed Comet robot from OWI responds to sound.

Jan 18, 2017

The AnandTech Podcast, Episode 40: CES 2017

The annual CES show is always a mélange of announcements and sneak peeks for what is to come through the year. At the show we had most of our regular editors on foot, meeting with manufacturers to find out what exactly is going on under the hood. Despite some technical hiccups trying to record the podcast on site, I was able to track down some of our editors for a short burst into their main highlights from CES and thoughts on the year ahead.

 

 

 

 

The AnandTech Podcast #40: CES 2017

Featuring

  • Dr Ian Cutress, Host, Senior Editor (@IanCutress)
  • Ryan Smith, Editor-in-Chief (@RyanSmithAT)
  • Anton Shilov, News Editor (@AntonShilov)
  • Matt Humrick, Senior Editor, (@MattHumrick)

iTunes
RSS - mp3, m4a
Direct Links - mp3, m4a

Total Time:  1 hour, 48 minutes 26 seconds

Outline hh:mm:ss

00:00:00 Start
00:00:48 Intel Kaby Lake
00:05:53 200-Series Motherboards and Onboard Controllers
00:14:52 Mentioning the Core i3-7350K
00:17:22 ASUS Pro B9440
00:19:56 Enter Ryan Smith, Editor-in-Chief
00:20:03 NVIDIA’s Self-Driving Demo
00:30:03 ASUS PG27UQ
00:38:30 Razer’s Project Valerie
00:49:16 Discussing the value of a tech showcase
00:53:36 Enter Anton Shilov, AnandTech News Editor
00:54:27 Dell goes 8K with the UP3218K
01:01:15 ASUS ProArt PA32U
01:05:14 ASUS Mini-PC
01:10:22 GIGABYTE Gaming GT PC
01:14:04 Corsair Bulldog 2.0
01:17:06 Enter Matt Humrick, Senior Smartphone Editor
01:17:28 Qualcomm Snapdragon 835
01:23:47 Windows coming to Snapdragon 835
01:25:05 Back to S835
01:30:33 Huawei Mate 9 Coming to the US
01:31:36 Honor 6X Launched
01:38:38 ASUS Zenfone 3 Zoom and Zenfone AR
01:48:26 FIN

Related Reading

Intel Launches 7th Generation Kaby Lake
The Intel Core i7-7700K (91W) Review
The Intel Core i5-7600K (91W) Review
Aquantia Multi-Gigabit AQC107 / AQC108 Ethernet NICs
Rivet Network’s Killer E2500 NIC
ASUS PRO B9440: Ultra-Thin Laptop with 10hr Battery for $999

ASUS Demonstrates ROG Swift PG27UQ: 4K, 144 Hz, HDR, DCI-P3 and G-Sync
Razer Reveals Their Triple Monitor Gaming Laptop Concept: Project Valerie

Dell Announces UP3218K: Its First 8K Display, Due in March
ASUS ProArt PA32U Display
ASUS VivoPC X: Core i5, GeForce GTX 1060, 512 GB SSD, 5-Liter Chassis, $799
GIGABYTE's New Console: The 'Gaming GT' PC Launched with Core i7-K, GTX1080, TB3
Corsair’s Bulldog 2.0 Gets Kaby Lake

Qualcomm Details Snapdragon 835: Kryo 280 CPU, Adreno 540 GPU, X16 LTE
Microsoft and Qualcomm Collaborate to Bring Windows 10 & x86 Emulation to Snapdragon Processors
Hands On With the Huawei Honor 6X
ASUS Announces ZenFone AR and ZenFone 3 Zoom