Stephen Smith's Blog

Musings on Machine Learning…

Archive for the ‘Business’ Category

Technology Predictions for 2022

leave a comment »

Introduction

Last year, I made my technology predictions for 2021. In this article, we’ll see how those predictions did and make some new predictions for 2022. This last year has seen a lot of challenges with the continuing pandemic and problems with the global supply chain. We’ve had a year of chip shortages affecting everything in high tech, which has caused prices in many categories to sky rocket.

The CPU Wars Rage On

Last year, we predicted the continuation of the heated CPU war between AMD and ARM as they adopted new chip technologies and increased their power and improved their power consumption. During 2021, Intel tried to make a comeback with new CPUs, but Intel’s main problem remains power consumption. The Intel chips have great performance if you can provide them enough power and have the technology to keep them cool. Until Intel finds a way to produce chips with comparable power consumption and heat production as existing chips from both AMD and ARM, it will keep playing catch up and see its market share decline. Even in data centers where Intel is king, they are having problems as power is a major cost to the data center and data center operators are moving to more efficient chips to save money.

ARM had a great year, capped off with Apple’s release of new MacBook Pro’s with its M1Pro and M1Max chips. Even with the distraction of nVidia’s attempted acquisition of ARM, we are still seeing big steps forward including their new v9 architecture, and new chips coming out from all their partners. At the low end, ARM saw the Raspberry Pi foundation release the RP2040, which isn’t the first ARM microcontroller, but is the first to see some real success.

A lot of people are rooting for RISC-V, the more open contender in the CPU battles, but besides some success in the microcontroller market, these chips remain quite expensive with performance lagging quite far behind inexpensive ARM chips.

New Generations of Graphics Cards

2022 will see nVidia and AMD releasing new generations of their graphics cards. Plus Intel is entering the discrete graphics card market this coming year. All the stories in 2021 were about lack of supply. It has been pretty much impossible to buy a good graphics card, especially if you are looking to build a custom system. Hopefully, with China banning Cryptocurrency mining and hopefully other countries following, we should see the supply of graphics cards restored to some normalcy.

Crypto-mining has been a big problem for gamers, causing shortages of graphics cards and RAM. Hopefully, either crypto is on the decline or the graphics card companies can ramp up production to serve everyone. Gamers are pretty mad at nVidia right now as it seems nVidia has been favoring shipping cards to the miners, probably because of the volume.

Ransomware & Hacking

We predicted a continuing upswing in hacker activity. Ransomware attacks were way up. Since quite a few companies elected to pay the ransom, these are perceived as profitable and hackers everywhere are jumping into the game. Last year was bad and next year will be worse. We are just finishing the year with a serious log4j vulnerability that is affecting huge sections of the web and corporate applications everywhere.

Self-Driving Cars

I predicted a bigger uptake in self-driving cars than actually happened. They are being used as taxis in some cities as well as on university and corporate campuses. There are self-driving cars out there as lots of people are getting tickets for sleeping while their cars drive them around. Self-driving cars are only one category of new products leveraging advances in AI technology. Other technologies such as translation, image recognition and auto-suggestions are improving day by day.

Raspberry Pi 5

The Raspberry Pi 4 was released in 2019, so I’m predicting we are due for a Raspberry Pi 5. Last year, we got the Raspberry Pi Pico microcontroller, so I think it’s the full Pi’s turn for a new version. My big feature request is an M.2 connector so a regular SSD harddrive can be connected. The current bottleneck and weakness in the Pi is the microSD card it uses as a disk drive. I find the 8gig Raspberry Pi 4 has plenty of memory, so not sure we need a 16gig version, but why not? Otherwise, adding a better way to expose PCI lanes to allow custom integrations of high performance peripherals, perhaps even graphics cards. It would also be nice if they switch the built-in GPU from that Broadcom thingy to a proper ARM Mali GPU. Now that ARM designs their RP2040 SoC, it will be interesting to see if they stick with a Broadcom SoC, or switch to one that they design themselves?

Summary

In spite of the supply chain and pandemic problems, last year was a good year for tech. As the supply chain problems get resolved and Covid lessens, we should see progress accelerate. I’m looking forward to seeing all sorts of new products with faster, more efficient CPUs and GPUs and better, smarter software incorporating AI technology behind the scenes.

Written by smist08

December 17, 2021 at 10:53 am

Windows 11 Appears on my Laptop

leave a comment »

Introduction

Microsoft Windows 11 released on October 5, 2021 approximately six years after the release of Windows 10. At the time of Windows 10’s release, Microsoft said Windows 10 would be the last release of Windows with all improvements rolling into incremental Windows Updates released twice a year. I guess the marketing honchos at Microsoft got tired of this strategy, decided to put fresh lipstick on the pig, and roll out Windows 11. Windows 11 didn’t roll out to everyone at once, and the update only became available to my laptop the other day (Oct. 27, 2021). I let it download and install and this blog post are some of my early impressions and what this new release brings.

Installation

Most people don’t install new versions of Windows, rather they get the latest version when they purchase a new computer. This is because usually a new version costs money and installing a new operating system can be problematic and difficult. If you are running Windows 10, then upgrading to Windows 11 isn’t any more difficult or time consuming than installing one of their half yearly updates and like the updates is free. The installation didn’t take any longer than an update and didn’t ask any additional questions, besides the usual agreeing to the EULA. Basically it just felt like any other Windows 10 update, and didn’t even feel like a particularly big one.

There is some controversy that Windows 11 requires newer hardware than Windows 10, but in my opinion Windows 10 probably didn’t run particularly well on this old hardware anyway and I would recommend switching any hardware that doesn’t support Windows 11 to running Linux. Linux runs great on older hardware and lets you get a lot more life out of your computing equipment rather than filling up the landfills. The main point that is annoying people is a requirement for the TPM (Trusted Platform Module) which isn’t particularly popular and tends to be the limiting factor. There are workarounds to this, but again, I would switch to Linux if this is an issue.

The Same but Different

My question about Windows 11 was: what is different? The signon screen is the same with the same nice picture and text. When I logged in, my desktop background was the same and all the icons on the desktop were preserved. From a distance, to me it looks pretty much like Windows 10. The first thing I noticed was that the icons on the taskbar are centered rather than on the left. There were some new things on the taskbar to poke at and as usual, Microsoft added back their programs that I had previously removed like the Edge browser. The other differences are more subtle and led to a bit of head scratching as I performed my usual work.

The Start menu has been split into three: the start menu, search and widgets. Widgets contain the same useless things that used to clutter the start menu, it’s nice they are separated out to be ignored, it would be nicer if there was an option to delete them entirely. Search is the useful option that I use to find and launch programs that aren’t pinned to the taskbar or on my desktop. The Start Menu has the same functionality as Windows 10 without search, but has more promotion built in, it has programs that you don’t have installed, like Adobe Lightroom, that if clicked start installing. I think Search is the good way to start programs, and I’ll likely ignore Start and Widgets entirely.

The Start Menu

One change that was a bit of a head scratcher is that the right click menus are different. For instance cut, copy, paste, etc. are icons, with no text, along the top of the menu and then other items seem rearranged. I’ll get used to this, but it did slow me down and reduce my productivity for a day or two.

Note the small icons at the top of the menu for copy/paste type operations.

The fonts and color scheme are a bit different than Windows 10, but I suspect this could have been achieved by simple customization. Anyway, I actually like the color scheme and font a bit better than Windows 10, so I’ll count that as an improvement.

There is a new desktop manager, so you can have multiple desktops and switch between them. This is a clone of a MacOS feature that I have never used and I suspect I’ll never use the Windows 11 feature either. This might be more useful for people that work, who can keep a work versus personal desktop or kids that have a personal versus parent-facing desktop.

Other Changes

Supposedly, Windows 11 handles the transition between laptop and external monitor better. I haven’t tried this, but it can’t be any worse than Windows 10.

The touchscreen support is advertised as better, but my laptop doesn’t have this, so I don’t know.

There are more gaming features ported from the XBox. I found the previous support pretty good, but I think this is good for gaming overall that Microsoft is committed to Windows gaming and not just selling XBox consoles. After all, the truly great gaming rigs are all PC based with top of the line graphics cards that typically cost several times the cost of an XBox.

Summary

Windows 11 really feels like the second half of 2021 Windows 10 update. I know this is a separate different update, and why Microsoft created both of these, I have no idea. I imagine it’s to do with corporate licensing and support agreements. That aside, this seems like a good update to Windows 10, there are changes in workflow, but for the most part things are familiar. I don’t think things have been moved around so much for the sake of making things different and hence hard to find. I like that the installation is just a simple Windows Update and the color scheme is ok. It would be nice if Microsoft didn’t spend so much time trying to force Edge and Teams down our throats, but that’s going to be a problem with large corporations and not having these sorts of things remains one of the things I like best about Linux. My laptop seems to run about the same as Windows 10, I haven’t seen any performance degradation that some people have reported and so far writing this article in a coffee shop, battery usage seems about the same.

If you are offered this update, I would recommend taking it. If for no other reason, than this is where the main security patches and bug fixes will be going first. Windows 10 will be supported for many more years, but I like to stay with the newest if my hardware supports it and I don’t see any huge red flags like happened with Windows Vista or Windows 8.

Written by smist08

October 29, 2021 at 11:27 am

Posted in Business

Tagged with , ,

State of Software on Apple Silicon

leave a comment »

Introduction

Apple Silicon ARM based Macintoshes first shipped back on Nov. 20, 2020. We are now three months later, so I thought I’d review the state of software on these new Macs. Whenever a vendor changes the CPUs in their computers there is typically a lag between the hardware shipping and then software becoming available for the new platform. Apple took a number of extraordinary measures to try to eliminate this lag, to have a lot of software available when the first real hardware shipped. In this article we’ll look at what is available now, what is missing and how the journey seems to be going.

Rosetta and the Early Adopter Program

Knowing that software would be a problem when Apple switched from Intel to ARM for their Macintoshes, they worked hard to produce an excellent Intel emulation program called Rosetta. This allows most Intel based MacOS programs to run as is on the new hardware. I found this to work really well, with a couple of exceptions. One problem is battery life, when I first received my new MacBook Air, there wasn’t a native general media player yet, and running the Intel version of VLC would drain the battery in a couple of hours. Since then a native ARM version of VLC has been released and I’m able to play videos all day without recharging. Another problem is that Rosetta doesn’t emulate Intel AVX vector processing instructions and this prevents some machine learning libraries from running. However, I found most things did work and hence I could get everything I needed done, done.

The other thing Apple did was seed developers with an early prototype Mac Mini using an iPad Pro’s ARM CPU and a beta version of MacOS Big Sur. This allowed developers to get a jump on porting their applications to the new platform. The downside was that this hardware cost US $600 and you had  to sign a heavy nondisclosure along with agreeing to return this hardware when the real thing shipped. This limited the program to mostly larger companies who could easily afford this. At the end Apple provided a $500 Apple store credit if you returned the unit and if this was known at the beginning, more people might have participated.

Native Applications

There are now a large collection of native Apple Silicon applications available including Microsoft Office, Google Chrome, VLC Player and Zoom. Others such as Adobe Lightroom or Parallels virtualization software are available in beta. There is a list of native applications here.

Of course all Apple’s applications are available for the M1 chip including Xcode which gives a pretty robust starting point.

Porting applications from Intel to ARM appears to be fairly straightforward and expect any missing applications (as long as they are still actively developed) to show up soon.

MacOS is based on Unix as is Linux and Mac users are used to all the various Linux applications having MacOS versions as well. A great place to get these is from one of the MacOS package managers like Homebrew. Homebrew has ARM native versions of most open source programs, including GCC and lots of Python libraries.

Xcode installed the LLVM compiler collection and then with GCC you can download and build most open source projects if you really need to, but chances are the folk at Homebrew have beaten you to it.

Another source of native Apps are iOS iPad and iPhone apps, many of these will install on the new Macs and for a lot of things are the best way to go.

Virtualization

If you want to run Linux or Windows on your new Apple Silicon Mac, one way to go is via virtualization. Parallels has a beta version of their software for Apple Silicon and I gave it a try and got a virtualized copy Ubuntu Linux up and running without any problems. The target operating system has to be 64-bit ARM based, which means you can choose from quite a few flavours of Linux.

Although bootcamp isn’t supported on the new Macs, you can run virtualized ARM based Windows using Parallels, but this version of Windows is only available through the Windows Insider program.

Other Operating Systems

There is a large contingent of Linux developers working hard to get Linux running natively on this new Apple hardware. Correlium has Ubuntu Linux running natively, booting either from the SSD or from a USB drive. This version supports much of the new Apple hardware, except it doesn’t use the GPU at all. Asahi Linux is working hard on GPU support, but that is a big job.

Apple is making this job hard but not providing documentation on the low level hardware interfaces, but people are making good progress reverse engineering MacOS.

The good news is that it is possible to run other OS’s like Linux and over time we’ll hopefully see other operating systems in addition to Linux ported as well.

What’s Missing

The big thing missing is support for the GPU and TPU. All the libraries that utilize GPUs for acceleration, won’t use the Apple GPU. This is a huge advantage that nVidia has, that nearly every machine learning library supports acceleration on nVidia GPUs, then next, but still lagging is support for AMD GPUs. 

Apple wants everyone to use their Metal API to access the GPU, but the problem is getting people to do this. Apple has taken a branch of Google’s Tensorflow and is adding Metal support themselves, but they have a bit of a tough road ahead to get good support across the board. They could try to help organizations like OpenCL write their drivers, but I think this will take time.

Another thing is to sort out the installation of systems like Python where there are hundreds of add-on libraries. There are lots of conda virtual installs for the new M1s but most mix and match installs are still a pain, and nowhere near as painless as they are on Intel based MacOS or on Linux.

Summary

There has been huge progress in porting software to the new ARM based Macs. There is still work to do, but it appears the new Macs are selling well and there seem to be lots of developers acquiring these new Macs. Anyone serious about iOS development wants these as it is so much easier having your development system running the same processor as your target. The missing pieces are becoming more and more obscure and most of the holes can be filled with programs running under Rosetta. I use my new MacBook for pretty much all my work and find everything I need already there and working really well.

Written by smist08

February 19, 2021 at 11:13 am

Posted in Business

Tagged with , , , ,

Apple Watch Series 6 Review

with 3 comments

Introduction

I recently celebrated another birthday and the present from my wife and some of her family was a brand new Apple Watch Series 6. Basically an Apple Watch is a little tiny iPhone, specialized to be a watch, but like an iPhone it can run Apps and has a lot of computing power. In this article we’ll discuss some of the watch’s salient features and I’ll give my initial impressions.

Unboxing

Sadly Apple uses UPS for shipping, so the watch arrived a few days after my birthday, I already complained about UPS quite a bit here. Unboxing consisted of removing the Apple packaging from the UPS packaging, removing lots of plastic wrap and opening the cardboard boxes within. Inside was the watch, a strap and a charging cable. There were the usual legal bits of paper warning about not changing the battery yourself and beware the choking hazard. There was a piece of paper with a picture and one sentence in 27 languages on how to put the strap on, turn it on and find the user manual on the Apple book store. Installing the strap is easy and it’s designed to be easily interchangeable, which is a nice improvement over my previous Garmin GPS watch where changing the strap was a real fiddly struggle.

Following the instructions to turn the watch on didn’t work, so I attached the charging cable, plugged it in and saw there it was 0% charged. The charging cable has a magnet on one end to attach to the back of the watch and the other is a USB-A connector. There is no included USB-A to AC power plug. Fortunately I have lots of these. Also I’m writing this on a new MacBook Air which does not have any USB-A ports, only USB-C ports, so without a hub, can’t be used, which I found strange that it didn’t come with a cable that would work with other Apple products.

Setup

After charging for ten or fifteen minutes, the watch had enough power to work while on the charger. To set it up, you use an iPhone, I have no idea how to do this if you don’t have an iPhone. Basically, if your iPhone is near the watch it detects it and launches the watch app. Then the watch displays a swirling pattern that you point the iPhones camera at. Once you have it correct in the field of view, the phone is paired to the watch. Then you use the iPhone App to go through the various setup steps, which is mostly confirming the EULA and how much access you want the watch to have to your stuff. You can skip most steps and set them up at any time from the App. I chose most of the defaults with a few exceptions:

  • I chose to manually select which Apps to download, otherwise it will install every App on your phone which has an iWatch version.
  • I didn’t enable the feature that would call 911 if the watch detects me falling. I’m worried about false alarms, and so far when I’ve fallen, I’ve been able to get up again.
  • I didn’t enable credit card payment. The watch has NFC and you can wave it over supported credit card devices to pay, but so far I haven’t integrated credit card payments to either my phone or watch.

Once done you are good to go. The watch takes about an hour and a half to fully charge, so when that was done I could put it on and tell time.

Impressions

The screen is easy to read, it’s always on, but it brightens when you tilt it towards you. I like the ease with which it measures heart rate, I’ve used lots of sports watches with the separate chest strap and those are such a pain that I rarely use it. There are lots of watch faces to choose from and you can easily customize any of them, however figuring out the correct thing to get what you want can be tricky (like displaying your heart rate rather than the heart rate App symbol). Apple hires good graphic designers, so all the faces are appealing and it’s a matter of choice whether you like lots or info or something clean, whether you like analog watch hands or a digital display.

How to run Apps baffled me at first, but once you get the hang of it, it is easy. It helps if you remember the icons of the Apps you use.

The watch is intrusive in some surprising ways, for instance if you don’t get up and move around every hour, it will bug you to do so. Similarly, it can be a bit aggressive on trying to get you to exercise. I’m often surprised by a new beep and notification from the watch. For now I’m ok with it, but I suspect in a week or two this will get old, and I’ll have to figure out how to turn some of these off.

The reason my Garmin watches failed, was that over the years their batteries held less and less charge. My current Garmin started off being able to track a hike of about six hours, but each year it got less, next I couldn’t record a hike, but a two hour bike rides was still ok, and recently it’s a bit problematic even recording a 45 minute run, So far the Apple Watch seems to be able to go for a day and a half between charges. I’m happy with this and I’ll be even happier if this keeps up for a number of years.

There are a lot of upsells associated with the Apple Watch. The Apple fitness App gives you basic functionality on your phone, but wants you to pay $13 or so per month for fitness+, so you have to say no to this a few times. Similarly the Strava App gives you basic functionality, but wants $80 per year for advanced things, the main thing missing being heart  rate tracking (but the basic Apple App does do this). So far I’ve avoided any of these upsells, but I might try the three month free trial for fitness+ at some point.

It would be nice if there were iPad versions of the iPhone iWatch Apps, but either there aren’t or most functionality is missing. It would be nice to be able to use the larger screen, but oh well.

After the first night, when I picked up my watch it complained that there was a new version of WatchOS, but it didn’t install since the watch wasn’t on the charger. No big deal, the next night I put the watch on the charger and went to bed. In the morning it had another error that the install failed because my iPhone wasn’t close enough to the watch. Anyway the third time was a charm, not really sure why the phone needs to be near the watch, since the watch does WiFi.

Summary

The Apple iWatch is a fun toy, I like that my watch tells me how much time I have until sunset and what my heart rate is. I’m not sure if this is legal, but I can glance at text messages while driving on my watch. I like the strava App in that I can start/stop activities and see my progress without getting my phone out of its exercise case. I’ve only had it for a couple of days, but I’ll write an update once I’ve been using it for a few weeks.

Written by smist08

February 5, 2021 at 4:57 pm

Posted in Business

Tagged with , , ,

Can Intel Turn Things Around?

with 2 comments

Introduction

Last week, Intel reported earnings of 20 billion in revenue, a new record. Leading up to that their CEO, Bob Swan, resigned and they rehired Pat Gelsinger. Pat was most recently the CEO of VMWare, but is well known within Intel from when he was the chief architect of the 80486 processor. The hope is that Gelsinger with his engineering background can turn Intel around. In this article, we’ll look at why with record revenue, people are saying Intel is in trouble. Then we’ll discuss what their prospects are.

Intel is all About the Process

My first job out of University was at Epic Data and the first thing they did was send me on a two week course at Intel down in Santa Clara on the then new 80186 processor which they were using as an embedded controller. In the course’s introduction, there was a bit of corporate propaganda where they discussed how the process technology that they used to build their chips was the core of the company and their competitive advantage. How having a better process technology for building chips was their number one priority and the foundation of everything they did.

Building chip foundries is expensive and few companies have the billions required to build new foundries with each new generation of chip technology. Intel had the resources to do this and many of their competitors fell by the wayside. There are only a few companies now creating CPU chips, but the model has changed where you can now design a chip and then have a third party manufacture it for you. AMD designs Intel compatible chips, but doesn’t manufacture them, it now contracts TSMC or Samsung to do that for them. Similarly for ARM chips and even nVidia GPUs.

This is where Intel has fallen down. Their transition from 14nm to 10nm technology (this is the size of transistors on the chip) ran into problems. Most Intel CPUs are still 14nm with a few of the newer ones finally coming out at 10nm. This then delays their next generation which will be 7nm for several years into the future.

Meanwhile, nearly all AMD CPUs are produced by TSMC at 7nm today. There are some differences between these, but Intel is only maintaining a performance lead by running hotter and using much larger amounts of power. At the sametime Apple is the first adopter of TSMC’s 5nm technology which is in the new Apple Silicon M1 chip and the newer iPad Air. Once TSMC meets Apple’s need for chips and brings more production capacity online, then AMD will go to the 5nm technology while Intel is still struggling with 10nm. By next year, TSMC will be on to 3nm technology and this will be used by AMD and all the ARM chips before Intel makes its transition to 7nm. Samsung is a bit behind TSMC, but well ahead of Intel and spending like mad to catch up and overtake TSMC. Suddenly instead of being the process leader, Intel is finding themselves several generations behind and even looking to TSMC to manufacture some of their chips. Meanwhile AMD is taking more and more market share away from Intel.

The smaller the transistor size, the more transistors you can put on a chip. For CPUs this means more CPU cores, better integrated GPUs, integrated AI cores, etc. Often this also reduces power utilization and increased speed due to shorter paths.

Brutal Competition

When IBM selected Intel as the CPU for their IBM PCs, they insisted that there was a second source for the CPUs, and so Intel was forced to grant a license to AMD to produce Intel compatible chips. This decision then created a huge competition between Intel and AMD to create the best x86 compatible chips. Each company kept leapfrogging the other with better designs and better processes. During this competition, there was a lot of interest in RISC processors which were simpler and it was believed that these would provide better performance than the Intel x86 CISC chips. There were Sun’s Sparc processors, IBM’s Power CPUs, MIPS and several others. In spite of all the theoretical advantages of RISC, the ferocious battle between Intel and AMD left them all in the dust. The PC market was large and profitable enough to provide both Intel and AMD with lots of money for R&D. The rewards of producing the best x86 chip were huge. By the time Intel launched the Core2 architectures, the x86 world was way ahead of the RISC world in computing power and at a far lower cost. The old Power, Sparc and MIPS processors are mostly memories now.

Power is the Game Changer

When Apple was looking to produce the iPod music player, they would have been happy to use familiar Intel chips, except that they ran the battery down too fast and Steve Jobs felt it would be useless as a result. Apple instead chose a small RISC chip that had been developed for a new version of the BBC Acorn computer. This chip wasn’t particularly powerful, but it didn’t use much power and was sufficient for a single use music player.

Acorn computer then spawned off the ARM chip as a separate entity that would design new versions of the chip. The resultant ARM Holdings never manufactured chips or even contracted others to manufacture chips. Instead it licensed its designs to companies like Apple to modify for their needs and to manufacture anyway they felt like. The success of the iPod was enough to fund R&D to produce more powerful ARM chips, like for the iPod Touch, then the iPhone and then the iPad. Once the iPhone forced all cell phones to be smart phones, everyone adopted the ARM processor for their mobile designs.

The main companies that produce ARM chips are Apple, Samsung, Qualcomm, MediaTek and Broadcom. Most of these are manufactured either by Samsung or TSMC.

Competition in the cell phone market is far more intense than the battle between Intel and AMD and we have history repeating itself where the cell phone manufacturers have put in huge investments to produce the best ARM chip for their flagship phone. We are now at a point where ARM chips are just as powerful as high end Intel or AMD chips but using only one tenth the power.

Using less power is a huge competitive advantage since:

  • Saving electricity saves money, especially in data centers
  • Using less power generates less heat and requires less cooling hardware
  • Systems don’t have to slow down because they are overheating
  • Laptops don’t require annoying fans

All of a sudden we see ARM chips entering the laptop, desktop and data center worlds where Intel is king. This is a huge threat to Intel and their market dominance in these spaces.

Follow the Money

Intel just reported revenue of 20 billion last quarter, which is pretty good and should provide lots of money for R&D. However, Apple just reported 111 billion last quarter and Samsung 59 billion and Qualcomm 6.5 billion. Intel may be huge, but the phone market is so huge that suddenly the industry that Intel dominates is small by comparison. Can Intel invest in the R&D necessary to compete? Meanwhile TSMC and Samsung aren’t even looking at Intel as they compete with each other for the best process technology. This is Intel’s big problem, that suddenly they find themselves in the same boat that Sun and IBM found themselves in with their Sparc and Power processors. Will they be able to overcome this challenge?

Intel’s Strategy

Pat Gelsinger hasn’t even officially started at Intel yet and he is already enticing various ex-Intel engineers that have either retired or moved on to other companies to return. He feels that Intel has gotten away from their engineering roots and has let key talent get away. The other thing Intel has been doing is going on a media blitz announcing future products that probably won’t appear for years, basically saying just wait a bit and we’ll have something for you in the future rather than buying AMD now (or switching to ARM). Hopefully once Pat officially assumes his new role next month, we’ll see some more concrete action plans on how Intel is going to proceed.

Summary

Intel is a powerful company that is making lots of money, however its products are getting old and it isn’t keeping up with the competition. At some point that is going to start affecting profits as loyal customers are forced to consider alternatives to stay competitive. Will reuniting the old team be enough to turn Intel around? I think more is required and everyone will be watching Intel closely over the next six months to see how they respond.

Written by smist08

January 29, 2021 at 12:43 pm

Posted in Business

Tagged with , , , ,

Apple M1 as a Development Workstation

with 12 comments

Introduction

I’ve been playing with my new M1 based Apple MacBook Air for a few weeks now, so I thought I’d blog about how it is as a development machine. These are now the best way to develop iOS Apps for iPhones and iPads. These systems are really new so there are a few missing pieces, but these are filling in fast. You can run most MacOS Intel based programs using Rosetta 2, but I’m interested in what runs in natively compiled ARM code that ideally uses the builtin M1 functionality where appropriate.

XCode

XCode is Apple’s IDE for development. The whole XCode system is a combination of Apple created software along with a number of open source development tools. As long as you don’t compile or debug for Intel, you don’t need Rosetta installed to run all these. That means besides XCode and Swift, you also get natively compiled versions of LLVM, Python and a number of other tools. After installing XCode (which is huge), you can run command line tools to compile C code and Assembly language code. There is a version of make installed and you can do this all from a command shell without using the XCode IDE at all. All these tools are very fast and seem to work perfectly in the native ARM environment. This shouldn’t be too much of a surprise as these have all been working fine on the ARM based Raspberry Pi for quite a few years now.

If you develop iOS or MacOS applications using Cocoa then this is the platform for you. On older Intel based Macs, to test the application the computer had to emulate the ARM processor and the iOS simulators were quite slow and clunky. Now that everything is using the same processor, suddenly the iPhone and iOS simulators are fast and much more productive. In fact currently the M1 processor is faster than any existing iPhone or iPads, so iOS apps actually run fastest on the new Macs.

What’s Missing?

Apple has fully embraced the LLVM open source toolchain and helped have that project fully support the new Macs. Sadly they didn’t provide the same level of help to the GNU GCC open source toolchain. There are now test builds of the GNU toolchain, or you can build it yourself, but not a released one yet. This then slowed down the development of any applications that depend on the GNU toolchain. The most notable case is anything written in Fortran was stalled because GNU has the good Fortran compiler.

Now you might ask, so what? Who uses Fortran these days anyway? The thing is nearly all scientific libraries were written in the 60s and 70s in Fortran and have all been made open source. These libraries are highly reliable and work great. Now you might ask, so what? Not many people do scientific computing? The thing is that all modern machine learning and AI applications make extensive use of these libraries especially for things like linear algebra. This means that even though Python itself is available natively for the Apple M1, all the scientific libraries, most notably numpy are not as they contain Fortran components. Again there are test builds available, but it could be a few months before these are all generally available.

Another problem is the Apple M1 GPU and machine learning accelerator components. Even once these all compile and are available for the M1, which should be soon, it may be considerably longer before versions are available that can make use of the GPU or TPU for vector acceleration. Most of these libraries have support for nVidia and AMD GPUs, however now that Apple has gone their own way, it may be a bit of a wait for Apple versions. Apple has allocated engineers to help with these projects so hopefully it is sooner than later, and any project that previously supported acceleration on an iPhone or iPad will be good to go.

Meanwhile if you use some other programming language or system, like say ERLang, you will have to check their website for native availability, compile them yourself or use Rosetta 2.

The new XCode is great for Apple mobile development, but what about Android? Android Studio is currently being ported to the M1 and there are test builds available, but with lots of missing pieces. Once complete, this will be the best way to develop Android applications since again, you can run the apps natively and don’t require an ARM emulator for testing and debugging.

Summary

Whenever a new generation of hardware is released, there is always a delay as software catches up. If you do a lot of development for iOS then you need one of these new Macs as these are now the best environment for mobile development. Once Android Studio finishes their M1 version, the new Apple M1’s will be by far the best platform for mobile development. Apple has done a really good job of having so much work at release for their new generation of Macintosh computers; but, as is always the case at the bleeding edge, there are a few holes to be filled in. Of course most of these projects are open source so if you need them, you can always contribute to help them move a little faster. As more and more M1 based Macs ship and get into people’s hands these problems will start to be knocked off and more things will move into the “it just works” category.

Written by smist08

January 1, 2021 at 11:54 am

Technology Predictions for 2021

with one comment

Introduction

Last week, we discussed some of the remarkable technologies from 2020. This time, we are going to look at some of the technology trends that will influence life in 2021. Everyone is hopeful that now that vaccines are starting to roll out, that we can put the pandemic behind us. The pandemic will certainly continue to dominate life well into 2021, but hopefully as more people become vaccinated, the numbers will start to finally go down and the level of community infection will reduce. As always, predictions are highly inaccurate and you should always expect the unexpected, nevertheless, it is fun to speculate.

Continuing CPU Wars

Intel will continue to have trouble with their new chip process technologies and as a result the wolves are circling. Both AMD and ARM will aggressively target Intel in all CPU categories. Both AMD and ARM will exploit newer process technologies from TSMC and Samsung to produce faster chips with higher transistor counts that use less power. Apple will accelerate their transition from Intel to ARM and it is likely they will finish their transition in 2021 a year ahead of schedule. Apple has proven the ARM processor is fully capable of competing in the laptop and desktop markets and expect other manufacturers to produce similar products running the ARM version of Windows which Microsoft will put more effort into as it gains market share. Similarly, the Apple M1 brought down a high bandwidth memory bus from the expensive server market into the mainstream. Expect to see better memory buses and technologies starting to appear in the consumer market. RISC-V will still struggle for relevance unless they can produce a Raspberry Pi board with similar performance for a similar price.

Self Driving Cars

There are dozens of companies working on self-driving cars. Honda plans to release a level 3 autonomous car by summer that will allow the driver to take their eyes off the road in a number of conditions. Already we are seeing self-driving taxis in some Asian cities. Expect to see more autonomous trucks driving the highways in the US. Expect the driver assist features in regular cars to be far more advanced this year going beyond simple lane control on highways.

We won’t see mainstream flying cars or jetpacks, these will remain dangerous toys, but expect cars to drive themselves more and more and suddenly we’ll wonder why we didn’t let cars always drive themselves.

Hackers and Virtual War

2020 is finishing with a major attack by a Russian state sponsored hacking group on the US government, infrastructure and corporations. We blogged on the ransomware attack against our own Translink, which is just one of dozens of successful attacks on various companies. IT departments everywhere are now under constant attack from private freelance hacking groups like the Translink case, but worse they are now faced with well funded state backed attacks from foreign countries, especially Russia, China, Iran and North Korea. All the labs developing COVID vaccines have been attacked as other countries have tried to steal their secrets for their own vaccine development.

In 2021, this is only going to get worse. The COVID pandemic made most IT departments short staffed and this will continue. The US government hasn’t made any investments in strengthening cyber security as any attempts to do so are stalled in a deadlocked congress. Similarly, corporations have gone cheap on their defenses as they just see these as a cost that should be reduced to increase profits.

There have been no real penalties for carrying out these attacks and this failure of law enforcement is going to embolden others to jump in and try to profit.

In 2021 things are going to get worse before they get better. Companies and governments will start to respond. Hopefully, the US can get past the dysfunction of the past four years and start to show some leadership again. Sadly, so far governments have been more interested in weakening encryption standards and providing backdoors for law enforcement. These moves have made communications easier to hack. Keeping backdoors secret from hackers never works, they always figure them out. Making it so law enforcement can eavesdrop on drug dealers sounds good, but the reverse is that it allows criminals to eavesdrop on our banking transactions.

In many ways, warfare between nations has gone virtual. While the US continues to buy more planes and tanks, Russia and China are investing in cyberwarfare and so far they are winning.

Computers Get Faster and More Powerful

This is an easy prediction as it is always the case. Expect more RAM, bigger SSDs and faster CPUs. Towards the end of 2021, I would expect a standard mid-range laptop or desktop to have 32Gig DDR5 RAM, a 2TB SSD and a 10+ core CPU. Further it will be standard to have GPU functionality built into the CPU chip. You can buy such systems now, but they are quite high end, just expect that as prices come down, what used to be high end becomes mainstream. There is currently a RAM surplus so look for more inexpensive RAM and SSD for this spring.

Summary

These are a few of the technology trends to watch in 2021. Of course AI will continue to improve, but only look for incremental improvements. The Raspberry Pi will go fully 64-bit, but don’t look for a new RP 5 until 2022. Will there be something unexpected? Probably. As always participating in the technology world is exciting.

Written by smist08

December 18, 2020 at 10:04 am

2020’s Best New Technologies

with one comment

Introduction

2020 has been a terrible year for nearly everyone due to COVID-19. People have been locked down, getting sick and losing their jobs and businesses. However, if you strip away all the COVID bad news, I think it has been quite a good year in the technology industry. Tech has the advantage that most people can work from home and in isolation. The tech industry was already set up for a mobile workforce and was able to keep its R&D going through the pandemic. Similarly as people have been locked down, they have been buying tech products like mad, including new laptops, phones, gaming equipment and all sorts of high-tech gadgets.

In this article I’m going to quickly look at a number of notable technological achievements from the last year. Many of these were years in the making, but we saw the first real results this past year.

mRNA Vaccines

Traditional vaccines inject you with weakened or inactivated germs to stimulate an immune response that will ready your body to instantly attract the real viruses or bacteria if they appear, preventing you developing the full disease. Messenger RNA (mRNA) vaccines train your body to produce parts of the germ and then that triggers the same sort of immune response.

Your body produces proteins from our DNA, by using a segment of DNA to produce a matching piece of mRNA, then your cells have mechanisms (ribosomes) to use this mRNA to produce proteins. This vaccine technique has been many years in the development and builds on years of genetic engineering research. We were able to quickly sequence the COVID-19 DNA, find the part that produces the distinctive spiky part on the surface of COVID-19 and then create an industrial scale process to manufacture a matching mRNA sequence for the spiky bit.

The ability to produce a vaccine within a year of a new virus appearing is a huge technological breakthrough.

A Shakeup in the CPU Market

Every year we have new CPUs being released that are faster and more powerful than last  year’s. What is notable this year is that Intel is stuck as they are having trouble moving to their new technology generation and the delays have allowed others to move ahead. AMD released a series of new CPUs that are faster and more powerful than Intel CPUs, notably the AMD 5900X. Now all of a sudden AMD is leading and commanding higher prices for their CPUs while Intel is having to offer steep discounts to keep sales going.

Meanwhile, the fierce competition in the cell phone market has spawned incredibly powerful ARM based CPUs. This year we saw these cross over to traditional laptops with Apple releasing their M1 chip powering a number of new Macintosh computers. These are notable for being as fast as all but the most expensive Intel or AMD CPUs, but using one tenth the power. Could this be the start of the end for the Intel instruction set? Even AMD is considering producing an ARM based CPU to compete.

A New Generation of Graphics Cards

Every year we see faster and more powerful graphics cards. As a result video games are becoming even more realistic with higher levels of detail. This year we saw major leaps ahead as both nVidia and AMD released the first cards in their next generation architectures. The nVidia Ampere architecture as contained in their RTX 30x graphics cards are amazing in the amount of processing power they contain. Not to be left behind, AMD released their RDNA 2 architecture and released their Radeon RX 68x graphics cards. All these cards are in extremely high demand and sold out instantly on release.

These days, GPUs are used for more than games and graphics. They are also ideal for AI processing and often the more powerful the graphics card, the more powerful the machine learning applications a computer can run. The nVidia cards are especially good at running these machine learning algorithms along with other highly parallel numerical computations.

Great New Games

With people staying home, there have been a great number of new games released. The most notable for me is the new Microsoft Flight Simulator where you can fly anywhere in the world, land and take off at any airport as well as having realistic simulations of weather, flight and controls. For pure fun, I enjoy Doom Eternal which takes Doom’s goryness to the next level.

There are now several services vying to be the Netflix of gaming, such as XBox Game Pass and these are a great way to play lots of games. Especially since games are often 100gig big these days and quickly fill up your SSD. As new versions of games are released, often the publisher first makes the older version available for free as a promotion, it was fun to play Borderlands 2 and GTA V for free for instance. CyberPunk 2077 is the current talk of the town, but I haven’t tried it yet.

Chain sawing demons in half is even more graphic.

The Privatization of Space

2020 marks the first year that a private enterprise based rocket took crew up to the ISS. Elon Musk’s SpaceX had a good 2020, in spite of their recent catastrophic landing. The US can now visit the ISS without relying on the Russian space agency. Several other billionaires aren’t far behind and we could soon see lots of private companies sending people up into space. I think we are a long way away from returning to the moon and Musk’s talk of visiting Mars soon is a good motivational stretch goal for his employees, but not happening soon.

Still I see the first private company to send people to the ISS as a major accomplishment and expect to see quite a few people up in orbit shortly.

Summary

This article is just a small selection of all the technological accomplishments of 2020. I feel it has been a good year for tech, even though it has really sucked for so many others. A lot of these technologies are foundational and we’ll see the real benefits of the coming years. Looking forward to an even better 2021.

Written by smist08

December 11, 2020 at 10:57 am

BC Transit’s Ransomware Attack

with one comment

Introduction

This past week it was revealed that BC Transit was the victim of a ransomware attack. People on their way to work showed up at transit and found they couldn’t pay by credit or debit card, transit was only accepting cash. This was a big problem, since during the pandemic we are told not to use cash, and most people didn’t have what was required on them. There were further disruptions caused by the failure of Transit’s other backend computer systems. Service is mostly restored today and they are taking credit and debit cards again, but their computer systems are not fully restored and Transit’s IT workers are madly working behind the scenes trying to restore their various systems.

A ransomware attack is where hackers infiltrate a computer system and then encrypt all the data, so the victim can’t access it. They then threaten to delete or make public all this data if the victim doesn’t pay a ransom. In this article we’ll look at how this happened, some details of how these attacks go and what can be done about them.

Ransomware – Close up of Your Files Are Encrypted on the Screen

BC Transit Was Warned This Would Happen

BC Transit wasn’t the first transit authority to be attacked and there was a big article in Mass Transit News here, which detailed an attack on Fort Worth’s Transit system and warned all other Transit authorities to be extra vigilant. Besides hackers targeting transit authorities in the past few months, ransomware has been an ongoing problem in many enterprises, the big ones making the news have  been hospitals having to shut down during the pandemic.

 BC Transit’s IT  people should have reiterated to staff about precautions to take as well as hardened their security systems.

How Do These Attacks Happen?

Theoretically, Transit should have secure IT systems and their staff should be trained in general best practice security awareness. How did hackers break into Transits systems to encrypt and steal all their data? BC Transit says they are conducting an internal investigation, and not giving any details, but we can see from past cases how this usually works. The hackers figure out the work emails of as many BC Transit employees as they can and then send them phishing emails. These emails either contain an attached Microsoft Office document or spreadsheet or a link to one that will download from the web. This MS document then contains malicious macros that will take over control of the employee’s computer. Most basic security systems won’t allow receiving an EXE file, but MS Office macros are sufficiently powerful to do the job. Another approach is to look for weak passwords used by employees and exploit that most companies have to allow remote access in these days of COVID-19 and allow remote login for users working at home.A third approach is to phone employees pretending to be the IT department and to trick them into either revealing their password or changing their password to something simple.

Once the hackers have access to this one computer, they take it over and use it as a staging ground to attack the corporate network. A typical employee shouldn’t have much access to the network, but the hackers will search for things that are misconfigured or running something with known security vulnerabilities. The original ransomware attacks were automated and just infected the one computer, these new attacks are directed by real hackers who personally login to these systems and do everything they can to compromise the systems.

At BC Transit, the hackers got full access to the corporate network, encrypted and downloaded all BC Transit’s corporate data and had every printer at BC Transit continuously print out their ransom demands.

Recovering from these attacks is difficult because the real hackers are still in the system and actively working against the IT staff. As the IT staff fix something, the hackers undo it. Basically the IT staff have to disconnect all their systems from the outside world while they clean and restore the systems. Even then it can be hard to find and remove all the hidden hooks, backdoors and programs that the hackers have hidden around their network.

BC Transit has stated that they will not pay the ransom, which is good as paying the ransom will encourage the hackers to keep doing what they are doing. It is rumoured that the ransom is several million dollars. BC Transit claims their system doesn’t contain any customer payment data as these are processed by a secure third party payment processor. However this could be dangerous for employees where these systems may contain all their payroll and other personal information which could be used for identity theft and other malicious purposes. Usually if you do pay the ransom, the hackers will give you the decryption key so you can access your data again; however, there have been many cases where the data later appeared for sale on the darknet, so expect your data to be public regardless.

How Can You Protect Yourself?

Here are a number of things corporations can do to protect themselves against these sort of attacks:

  1. Don’t use Microsoft Office or Internet Explorer. Use an alternative such as Google Chrome and Google Docs and Sheets. So many of these attacks are caused by malware embedded in Microsoft Office files that a good case could be made to replace these.
  2. If you do use Microsoft Office, use group policy to disable macros and any other active content across your whole organization.
  3. Do not let employees connect to your network from a home computer, only from a work computer where group policy has severely restricted what the user is allowed to do. Further the computer will always use VPN for all internet access. Tightly restrict the computer to only allow what they need to do their job.
  4. Train and reinforce over and over not to reveal their password over the phone or to change their password when instructed over the phone. Plus implement some sort of two factor authentication technology to reduce the risk, even if the passwords are known.
  5. Isolate your servers. Do not have all your servers interconnected and allow everything to access everything else. For instance, put the ERP system on a completely separate domain and don’t let the domains trust each other. Having multiple networks is a pain, but it will limit the damage when part is compromised.
  6. Follow all best practice security measures and ensure all updates are installed right away and forced on all your uses. Keep regular backups of everything, and make sure you practice restoring them. There have been many cases of companies who failed to restore from backup because they never tested this.
  7. Pay attention to what is happening to other companies. BC Transit should have been prepared for this.

Summary

Security is hard. Hackers are smart and resourceful. However, the IT staff at an enterprise as large as BC Transit should be capable of preventing this sort of attack and should be capable of restoring quickly from an attack if it happens. Hopefully, BC Transit and other BC crown corporations learn from this experience and prevent a worse attack happening in the future, especially to something like our hospital systems.

Written by smist08

December 4, 2020 at 11:16 am

What’s Next for the Apple M2 ARM CPU

with 3 comments

Introduction

Last week, Apple started shipping their new ARM M1 based Macintosh computers. I ordered a new MacBook Air and maybe I’ll get it before XMas. The demand for these new ARM based computers is high and they are selling like mad. The big attraction is that they have the computing power of top end Intel chips, but use a tenth of the power, leading to a new class of powerful laptops with battery life now measured in days rather than hours. With all the hype around the M1, people are starting to ask where Apple will go next? When will there be an M2 chip and what will it contain? Apple is a secretive company so all this speculation is mostly rumours. This article will look at my wish list and where I think things will go.

First, there will be more M1 base Macs early next year. Expect higher end MacBook Pros, these won’t have a completely new M2, more like an M1X which will have either more CPU or CPU cores and higher memory options. I expect the real M2 will come out towards next XMas as Apple prepares all their new products for the next holiday shopping season.

The Chip Manufacturing Process

The current M1 CPU is manufactured using TSMC’s 5nm process. TSMC recently completed their 3nm fabrication facility (at least the building). The expectation is that the next generation of Apple’s iPhone, iPad and Mac chips will be created using this process. With this size reduction, Apple will be able to fit 1.67 times as many transistors on the chip using the same form factor and power. Compare this to Intel which has been having trouble making the transition from 14nm to 10nm over the last few years. Of course AMD also uses TSMC to manufacture their chips, so there could be competitive AMD chips, but reaching the same power utilization as an ARM CPU is extremely difficult.

Samsung manufactures most of its chips using 8nm technology and is investing heavily trying to catch up to TSMC, hoping to get some of Apple and AMD’s business back. I don’t think Samsung will catch up in 2021 but beyond 2021, the competition could heat up and we’ll see even faster progress.

More Cores

The most obvious place to make use of all these extra transistors is in placing more CPU, GPU or AIPU cores on the chip. The M1 has 8 CPU cores, 8 GPU cores and 16 AI Processor cores. Apple could add to any of these. If they want a more powerful gaming computer, then adding GPU cores is the obvious place. I suspect 8 CPU cores is sufficient for most laptop workloads, but with more GPU cores, they could start being competitive with top of the line nVidia and AMD GPUs. The AI processing cores are interesting and are being used more and more, 

Apple is continually profiling how their processor components are used by applications and will be monitoring which parts of the system are maxed out and which remain mostly idle. Using this information they can allocate more processing cores to the areas that need it most.

More Memory

The current M1 chips come with either 8 or 16 GB of RAM. I suspect this is only a limitation of trying to get some systems shipping in 2020 and that there will be higher memory M1 chips sooner than later. For the M2 chip, I don’t think we really need an 8GB model anymore and if there are two sizes it should be 16 or 32 GB. Further, with high end graphics using a lot of memory, a good case for 64 GB can be made even for a laptop.

More and Faster Ports

The first few Mac computers have 2 USB 4 ports and one video port. There has been a lot of complaining about this, but it is a bit misleading because you can add hubs to these ports. It has been demonstrated that you can actually connect 6 monitors to the video out using a hub. Similarly you can connect a hub and have any number of ports. I’m not sure if Apple will add more ports back and either way I’m not too worried about it.

The good thing is that USB 4 is fast and it makes connecting an external drive (whether SSD or mechanical) more practical for general use. Of course making the ports even faster next time around would be great.

General Optimizations

Each year, ARM improves their CPU cores and Apple incorporates these improvements. The optimizations could be to the pipeline processing, improved algorithms for longer running operations, better out of order execution, security improvements, etc. There are also newer instructions and functionality incorporated. Apple takes all these and adds their own improvements as well. We’ve seen this year over year as the performance of the ARM processors have improved so much in the iPhones and iPads. This will continue and this alone will yield a 30% or so performance improvement.

More Co-processors

The M1 chip is more than a multi-core ARM CPU. It includes all sorts of co-processors like the GPU cores and AI processing. It includes the main RAM, memory controller, a security processor and support for specialty things like video decoding. We don’t know what Apple is working on, but they could easily use some fraction of their transistor budget to add new specialty co-processors. Hopefully whatever they do add is open for programmers to take advantage of and not proprietary and only used by the operating system.

Summary

The Apple M1 Silicon is a significant first milestone. Everyone is excited to see where Apple will go with this. Apple has huge resources to develop these chips going forwards. The R&D Apple puts into Apple Silicon benefits all their businesses from the Apple Watch to the iPad, so they are fully committed to this. I’m excited to see what the next generation chips will be able to do, though I’m hoping to use my M1 based MacBook for 8 years, like I did with my last MacBook.

If you are interested in the M1 ARM processor and want to learn more about how it works internally, then consider my book: Programming with 64-Bit ARM Assembly Language.

Written by smist08

November 27, 2020 at 10:56 am