The Google Pixel 3a makes a strong case for tossing out the spec sheet. On paper, it looks like yet another boring budget smartphone, with a middling processor, single front and rear cameras, and a bare-minimum 1080p screen. But in your pocket, you might just mistake it for a premium phone.
Part of the reason why is because, well, it’s a Pixel. Specifically, it looks a lot like the notchless Pixel 3 and the rumored design for the Pixel 4, and of course, it runs the latest version of Android. But while the high-priced G-stamped phones always left something to be desired when it came to design, the $399 Pixel 3a looks like a budget phone but acts like a premium one. It’s almost like Google has been setting us up for this all along.
Our review of AMD’s 12-core Ryzen 9 3900X CPU, in five words:
Damn, this CPU is fast.
But keep reading, because the Ryzen 9 3900X is likely as significant, and likely as game-changing, as AMD’s original K7 Athlon-series of CPUs that crossed the 1GHz line first, or its Athlon 64 CPU that ushered in 64-bit computing in a desktop PC.
You’d think the Ryzen 9 3900X would have a hard time achieving the same greatness. It's true that it doesn't quite shake all the gaming-performance bugaboos of past generations. But we think when the dust settles, the CPU series will easily be a first-ballot, CPU hall of fame entry.
Nextbase’s new GW modular series, including the $230 422GW reviewed here, have raised the bar for dual-channel dash cams. They’re pricey, but feature an HDMI port that, besides outputting video, accepts any one of three $100 rear cameras: a cabin view (interior) module, a traditional rear-window mounted unit, and a unique telephoto rear module that captures what’s behind you without the hassle of wiring, or obscuring your view.
Beyond that, there’s phone connectivity, Alexa, GPS, and a touchscreen. If it weren’t for the lack of infrared lighting for interior night captures, the 422GW would be hands-down the best dash cam I’ve ever tested. For my purposes it still is, but if you’re driving a taxi or patrol car at night, the unit’s interior captures aren’t going to cut it.
This upgraded version of my $272 Black Friday gaming PC has a better motherboard, faster RAM, and double the amount of RAM and storage. Not shabby for an extra $40, and us being in the middle of the year. You don’t even need to live near a Micro Center to get this price, either—nor are you limited to this one budget build. A plethora of CPU deals and a handful of GPU deals are available for folks with larger pockets.
Because of limitations in a motherboard's BIOS, third-generation Ryzen chips may not boot with older AM4 motherboards. The solution? An exchange program that can solve what's essentially a chicken-and-egg problem for users building their first Ryzen PC.
The problem can be traced back to the motherboard's UEFI/BIOS. AMD pledged to make the AM4 socket backward-compatible all the way to the original Ryzen. Unfortunately, the amount of code necessary to accommodate all of the various microprocessor permutations has stretched the limits of what AM4 motherboards can handle.
That's presented two issues. First, the latest X570 boards have dropped support for older chips like the first-generation Ryzen because of these limitations. But the opposite is also true: Consumers who buy the latest third-generation Ryzen processor may find themselves unable to boot their new chip when it's paired with a cheap, legacy motherboard, including those powered by an X370 and B350 chipset.
Note: During Amazon's Prime Day sale you can get theEero mesh Wi-Fi system is on sale for a whopping 50 percent off. At $199 you can blanket your home with Wi-Fi at an incredible price. See all our other picks of the the best Prime Day deals.
The second-generation Eero Home WiFi System is even easier to set up than the first, thanks to wireless access points called Beacons that plug straight into AC outlets. It’s also more powerful, thanks to a new Qualcomm mesh Wi-Fi router chipset and a tri-band Wi-Fi radio. Eero says the $399 kit reviewed here is suitable for a three- to four-bedroom home, and I agree. The router delivered triple-digit throughput in every room of my 2800-square-foot home—more than enough bandwidth to support several HD video streams simultaneously.
The New BittBoy V3 is a handheld retro gaming emulation device that looks like Nintendo’s classic GameBoy—but has hardware powerful enough to play NES, Genesis, and even Playstation 1 games. For $70 (including an 8GB micro SD card) it offers great battery life, a nice screen, and consistent emulation. As of this writing we’re also seeing some great summer discounts. It’s a relatively easy option for those who like to take some favorite video games on the road, as long as you’re willing to deal with a few drawbacks.
Using an SDK that’s tailored to whatever language you’re using simplifies the process considerably, turning calls into methods and responses into objects. There’s no need to translate data formats or build complex query strings, reducing the risk of error. Microsoft has provided SDKs for Azure since the earliest days of its public cloud, adding new features to its libraries as they roll out.
Protecting yourself from online scams is a fact of life now. According to the FBI’s 2018 Internet Crime Report, Internet scams from 2014 through 2018 cost consumers $7.45 billion. Scams include online shopping/non-delivery of products ordered, identity theft, credit card fraud, and denial of service/DDoS attacks. Other threats include various flavors of ransomware, malware, scareware, and viruses, along with a few dozen other categories of crime.
I got hit with ransomware—twice—and learned a lot from the remedies I tried, as well as the experiences of friends who were hit. Read on to see what I did, and be sure to check PCWorld’s thorough guide to removing malware and our follow-on story about how to rescue your Windows PC from ransomware for more information. We wrap up with a checklist that will help you fend off online scams of all kinds.
If you’re starting a new machine learning or deep learning project, you may be confused about which framework to choose. As we’ll discuss, there are several good options for both kinds of projects.
There is a difference between a machine learning framework and a deep learning framework. Essentially, a machine learning framework covers a variety of learning methods for classification, regression, clustering, anomaly detection, and data preparation, and may or may not include neural network methods.
A deep learning or deep neural network framework covers a variety of neural network topologies with many hidden layers. Keras, MXNet, PyTorch, and TensorFlow are deep learning frameworks. Scikit-learn and Spark MLlib are machine learning frameworks. (Click any of the previous links to read my stand-alone review of the product.)
If you’ve chosen to enable Amazon’s Alexa on Windows, you’re in for a bonus: In the future, you may get to talk to Alexa—and not Cortana—while your PC is locked.
Microsoft celebrated Amazon Prime Day by announcing Windows 10 Insider Preview Build 18362.10005, a small build in the 19H2 or “Slow” ring. Those updates are part of what you might call the “patch” feature update that’s due this fall, rather than the “new feature” release, or 20H1, due sometime in the spring of next year.
What’s interesting, of course, is that most people would consider talking to Alexa on the lock screen a feature, rather than a fix. (Right?) Alexa is already available as an app for Windows. But Alexa is also a part of Windows, and can be invoked by saying “Hey Cortana, open Alexa.” (Always-on, listening assistants may pose a risk to privacy, as we’ve pointed out.)
Last year I called Elgato’s Stream Deck “a valuable tool in anyone’s streaming kit.” Long known for affordable capture equipment, Elgato had entered another important hardware niche and created an inexpensive video switcher—one that was only the size of a card deck. With multiple customizable buttons, you could manage all facets of your streaming process without every leaving your primary screen.
Pro-grade equipment at a bargain price. That’s the reputation Elgato earned as first YouTube videos and then Twitch streaming took over video games. Straddling a line between hobbyist and professional-grade—a line that’s hard to walk competently, I might add—Elgato’s capture cards have become a mainstay of streamers at all levels.
Acer’s Predator Helios 300 has achieved something we never thought a gaming laptop could do. It actually manages to be popular, powerful, and affordable.
You’d think popularity would be the hardest thing to prove, but that’s what caught our eye first. A specific model of the Predator Helios 300 has maintained a steady position among the top ten bestselling laptops on Amazon for many, many weeks. It just won’t quit.
It’s not every day that Microsoft can’t work out a bug on its own hardware, but that’s what has happened with the Microsoft Surface Book 2: Microsoft has blocked the devices from updating to the Windows 10 May 2019 Update.
Microsoft says the root cause is issues with the discrete GPU inside the notebook. Two things may happen, Microsoft said in a support note: Either Nvidia’s discrete GPU may disappear from the Device Manager, or games that require the discrete GPU may simply refuse to open. A Surface Book 2 evaluation unit issued to PCWorld by Microsoft experienced that problem, refusing to play the game Broforce, as evidenced by the screenshot that accompanies this story.
AutoMapper is a convention-based, object-oriented mapper. An object-oriented mapper is one that transforms an input object into an output object of a different type. AutoMapper also can be used to map similar or dissimilar objects (i.e., objects having properties that may or may not be identical).
We examined the basic features of AutoMapper in a previous article. In this article we’ll explore some of the advanced features of AutoMapper.
Create an ASP.Net Core project in Visual Studio
First off, let’s create a new ASP.Net Core project in Visual Studio. Note that you can create any project, i.e., MVC or even a Console Application, to work with AutoMapper. If Visual Studio 2019 is installed in your system, follow the steps outlined below to create a new ASP.Net Core project.
The modern sense of NoSQL, which dates from 2009, refers to databases that are not built on relational tables, unlike SQL databases. Often, NoSQL databases boast better design flexibility, horizontal scalability, and higher availability than traditional SQL databases, sometimes at the cost of weaker consistency.
NoSQL databases can take a number of forms. They can be cloud services or install on-premises. They can support one or more data models: key-value, document, column, graph, and sometimes even relational—which is one reason that NoSQL is sometimes parsed as “Not Only SQL.” They can also support a range of consistency models, from strong consistency to eventual consistency.
Microsoft is not going to eliminate internal use rights for partners who've been using software obtained as part of Microsoft's partner-program benefits to run their businesses, following partner complaints.
Many organizations are taking steps to adopt devops best practices, investing in version control, continuous integration, automated testing, continuous delivery, deployment containers, infrastructure as code, centralized monitoring, and other approaches to automate and systematize aspects of managing applications and infrastructure.
The list of practices, tools, and maturity levels is growing and it’s no longer a trivial matter for devops teams and technology organizations to easily determine what areas to prioritize, what approaches are most viable, and what level of maturity is good enough.
Angular provides dependency injection, which is particularly useful for assembling data services for applications, along with use of an HTML template to compose components. In Angular, developers still compose components with an HTML component that connects to TypeScript code for imperative parts of the program.
Microsoft’s Azure Sphere is an interesting concept, a mix of secure cloud services, secure devices, and a new Linux-based operating system, all rolled into a single platform and a Visual Studio-based development platform. I recently received one of the first MT6320 development boards, and I’ve been taking it for a spin.
One of the big problems facing the IoT (internet of things) is security. We’ve all heard how smart bulbs have become part of botnets and how easy it is to break into a home hub and monitor devices. The question is, how do we secure a device that has no root of trust and no tracked supply chain?
Microsoft’s open source development tool is an important piece of the developer’s toolkit. Built using GitHub’s cross-platform Electron framework, Visual Studio Code is a full-featured development editor that supports a wide selection of languages and platforms, from the familiar C and C# to modern environments and languages like Go and Node.js, with parity between Windows, MacOS, and Linux releases.
Microsoft regularly updates Visual Studio Code. Keep track of the updates’ key features in this changelog.
Microsoft's Desktop Analytics service, now in public preview, is designed to help business users check their app-compatibility levels and mitigate issues involving the latest Windows 10 feature updates.
You can write better controllers by adhering to the best practices. So-called “thin” controllers—i.e. controllers with less code and fewer responsibilities—are easier to read and maintain. And once your controllers are thin, you might not need to test them much. Rather, you can focus on testing the business logic and data access code. Another advantage of a thin or lean controller is that it is easier to maintain multiple versions of the controller over time.
This article discusses bad habits that make controllers fat and then explores ways to make the controllers lean and manageable. My list of best practices in writing controllers may not be comprehensive, but I have discussed the most important ones with relevant source code wherever applicable. In the sections that follow, we’ll examine what a fat controller is, why it is a code smell, what a thin controller is, why it is beneficial, and how to make the controllers thin, simple, testable, and manageable.
Relational SQL databases, which have been around since the 1980s, historically ran on mainframes or single servers—that’s all we had. If you wanted the database to handle more data and run faster, you had to put it on a bigger server with more and faster CPUs, memory, and disk. In other words, you turned to vertical scalability or “scale up.” Later on, if you needed the ability to fail-over to improve availability, you could collocate a hot back-up server with the active server in an “active-passive” cluster, typically with shared storage.
The four ACID properties—atomicity, consistency, isolation, and durability—are required to ensure that database transactions will always be valid, even in the event of network partitions, power failures, and other errors. It is relatively easy for a database on a single server to conform to all four ACID properties; it’s a bit harder to implement for a distributed database.
If you’re a fan of Microsoft Visual Studio Code—and it seems more people are every day—it’s because the popular code editor offers a heap of appealing features. It’s endlessly customizable, highly consistent across platforms, and progressing at a rapid clip with monthly updates.
But Visual Studio Code is hardly the only popular code editor out there. In fact, the market is filled with highly customizable editing apps, not least of which is “hackable” Atom, a tool developed by GitHub that commands a faithful following of users. Both Visual Studio Code and Atom are built with similar components, mainly the Electron system for building desktop applications with web technologies.
Microsoft is stepping up its efforts to market Microsoft 365 -- its subscription bundle of Windows 10, Office 365 and Enterprise Mobility + Security -- in a more integrated way. And it's reorganizing internally to try to do so.
Microsoft’s Power Platform has become a significant part of its developer offering during the past few years. Perhaps best thought of as the modern equivalent of the 1990s client-server applications and tools like the original Visual Basic, the Power Platform is a family of rapid application development tools intended for a mixed audience of both developers and business analysts.
Power Platform is built on the Common Data Model at the heart of the Dynamics line-of-business systems and on the workflow automation of Azure’s Logic Apps. It offers a mix of tools for building internal enterprise applications that deliver information to user desktops and devices. There are three key developer-facing tools in the Power Platform: Flow, Power Apps, and Power BI. Each supports different audiences, but they also fit together to give you a business information processing pipeline, from core systems at one end, to desktop dashboards and mobile applications at the other.
The importance of machine learning and deep learning is no longer in doubt. After decades of promise, hype, and disappointment, both have led to practical applications. We haven’t gotten to the point where machine learning or deep learning applications are perfect, but many are very good indeed.
Of all the excellent machine learning and deep learning frameworks available, TensorFlow is the most mature, has the most citations in research papers (even excluding citations from Google employees), and has the best story about use in production. It may not be the easiest framework to learn, but it’s much less intimidating than it was in 2016. TensorFlow underlies many Google services.
Asynchronous programming allows you to write programs that don’t block on each statement or instruction, meaning the computer can move on to other tasks before waiting for previous tasks to finish. As a result, asynchronous programming enables you to build applications that are more scalable and responsive.
The async and await keywords allow us to write asynchronous code. These have been optimized in .Net Core for ease of use and performance. This article discusses a few points that you should be aware of when working with asynchronous programming in .Net Core applications.
The async and await keywords
An asynchronous method is one that is marked with the async keyword in the method signature. It can contain one or more await statements. It should be noted that await is a unary operator — the operand to await is the name of the method that needs to be awaited. The point at which the await keyword is encountered is known as the suspension point. The following code snippet illustrates how the async and await keywords are used.
Are data warehouses relevant again, or are they a dying breed?
You’re forgiven if you’re a bit confused on this issue. On the one hand, data warehousing certainly seems to be on a hot streak. As a longtime industry observer, I’ve seen the industry surge in successive waves of innovation and startup activity.
This trend essentially began when the appliance form factor entered the data warehousing mainstream a decade ago, and then gained new momentum several years ago as the market shifted toward the new generation of cloud data warehouses. In the past few years, one cloud data warehouse vendor—Snowflake—has gained an inordinate amount of traction in the marketplace.
Over the past few years, the open source relational database management systems MySQL and MariaDB have undergone tremendous changes: new and improved features, fixes for long-standing problems, better performance across the board.
With all that’s changed, it’s easy to miss some of the best features MySQL and MariaDB have added in that time. In this article we’ll run through seven of the biggest new capabilities added to MySQL, MariaDB, or both—and why you would want to use them.
When NoSQL databases appeared, with their promises of developer ease and elastic scalability, many wondered if relational databases were on the way out. Short answer: Not at all. NoSQL systems are handy and flexible, but schemas and tables will always have their place.
I think we all agree that knowing what lies ahead in the future makes life much easier. This is true for life events as well as for prices of washing machines and refrigerators or the demand of electrical energy in the whole city. Knowing how many bottles of olive oil customers will want tomorrow or next week allows for better restocking plans in the retail store. Knowing the likely increase in the price of gas or diesel allows a trucking company to better plan its finances. Examples where such knowledge can be of help are countless.
Demand prediction is a big branch of data science. Its goal is to make estimations about future demand using historical data and possibly other external information. Demand prediction can refer to any kind of numbers: visitors to a restaurant, generated kW/h, school new registrations, beer bottles required on the store shelves, appliance prices, and so on.
If you need to calculate changes such as last month versus the prior month or last month versus the same month a year earlier, R is a good choice. It’s easy to do those calculations — and you don’t have to worry whether a spreadsheet formula was properly clicked and dragged to cover all the necessary cells.
Like so many things in R, there are multiple ways to do this. I’ll cover two of them.
First, I’ll import some data about daily cycling trips on Bluebikes, the bicycle-share system in Boston, Cambridge, and three other nearby cities. If you want to follow along, download this zip file of CSV data and unzip it.