diff --git a/astro.config.mjs b/astro.config.mjs index ad8f56b..19808e9 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -3,7 +3,14 @@ import { defineConfig } from "astro/config"; // https://astro.build/config import tailwind from "@astrojs/tailwind"; +// https://astro.build/config +import sitemap from "@astrojs/sitemap"; + // https://astro.build/config export default defineConfig({ - integrations: [tailwind({ config: { applyBaseStyles: false } })], -}); + integrations: [tailwind({ + config: { + applyBaseStyles: false + } + }), sitemap()] +}); \ No newline at end of file diff --git a/package.json b/package.json index d6d0cb7..f87657c 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "astro": "astro" }, "dependencies": { + "@astrojs/sitemap": "^1.0.0", "@astrojs/tailwind": "^2.1.2", "@fontsource/ia-writer-quattro": "^4.5.3", "@tailwindcss/line-clamp": "^0.4.2", diff --git a/src/pages/blog/zustand-how-to.md b/src/pages/blog/zustand-how-to.md new file mode 100644 index 0000000..0bc3c51 --- /dev/null +++ b/src/pages/blog/zustand-how-to.md @@ -0,0 +1,71 @@ +--- +layout: ../../layouts/PostLayout.astro +title: "How to use Zustand" +date: 2021-01-10 +description: "What to expect for the next Apple Silicon Macs." +tags: [apple silicon, mac, apple] +draft: true +--- + +Apple Silicon got off to a dramatic start with the M1 chip. Apple has taken three of their Mac offerings and made them faster than ever by powering them with their own chips. The [early 2020 Intel MacBook Air](https://amzn.to/3nKdEGs) (now $899 on Amazon) was a well-received machine, but [the Verge noted](https://www.theverge.com/2020/3/26/21195008/apple-macbook-air-review-2020-new-keyboard-processor-battery-life-camera-price) it's inability to keep up with intense workloads and subpar battery life. With Apple Silicon, it's got amazing speed (CPU and GPU), long battery life, and such incredible efficiency it doesn't need a fan. I've seen my girlfriend and my brother get the M1-powered MacBook Air and it works astonishingly well for almost anything they need to do. Apple has put M1 inside three Macs so far - [MacBook Air](https://amzn.to/3645lPV), [MacBook Pro 13-inch](https://amzn.to/3ikHekz) , and [Mac mini](https://amzn.to/3svTljs). + +M1 offers an 8-core CPU with 4 high-performance cores and 4 efficiency cores. This is paired with an integrated, 7 or 8-core GPU that clocks 2.6 teraflops. It also has a unified memory architecture, so it shares the RAM inside the SoC (system-on-a-chip) directly with the other components of the chip. The CPU has [the fastest single-core performance of any Mac](https://browser.geekbench.com/mac-benchmarks), and the integrated GPU [beats out older discrete GPUs](https://www.techradar.com/news/apples-m1-chip-can-apparently-outperform-some-amd-and-nvidia-graphics-cards) like the Radeon RX 560 and the NVIDIA GTX 1050 Ti. In CPU-bound tasks, M1 will do superbly in comparison to the consumer Macs before it. For the average consumer, the only shortcoming of the M1 might be graphics performance. Knowing that this GPU is _integrated_ makes it quite impressive. But to become a capable machine for gaming and Machine Learning, the GPU either needs a bump in cores or Apple needs to make room for a high-performance discrete GPU. For CPU workloads, however, the M1 will be more than enough for most people. + +It's worth noting that M1 has hardware-bound limitations of up to 16GB of unified memory and two USB-4 ports. There's also the hard limit of being able to use just one monitor over USB 4. In the Mac mini's case, there's an HDMI port on the back which allows for use of up to two monitors. These limitations demonstrate how Apple expects these products to be used. They are powerful machines with a small amount of I/O, memory, and display capability. M1 is designed for average consumers, and designed for machines that can be taken on the go (or lightweight boxes like the Mac mini). What's exciting is seeing how fast M1 is - and then recognizing it will be the slowest Apple silicon Mac Apple ever produces. + +Apple said at WWDC 2020 that the transition would take 2 year to complete. If you're looking at any of Apple's Intel-based Macs, know that expected updates to those systems should come by WWDC 2022. Here's what to expect for the next Apple silicon Macs. + +## MacBook Pro + +The only MacBook Pro with Apple silicon is the M1-powered 13" MacBook Pro. The computer is in an interesting spot in the lineup, especially when compared to the MacBook Air. The Pro's upsides include a brighter display, the Touch Bar, slightly longer battery life, and [a single fan](https://www.theverge.com/2020/11/10/21559228/apple-new-macbook-air-pro-difference-arm-m1-fan-thermal-performance). But that's pretty much it. Apple's MacBook Pro is expected to receive a major redesign soon. It's so similar to the M1 MacBook Air that average consumer couldn't go wrong with either. But if you're considering this one for pro-level performance, you'd better hold off. New Pro machines are on the way. + +A [report on January 14th](https://www.macrumors.com/2021/01/15/new-macbook-pro-models-magsafe-ports/) detailed many of the MacBook Pro's physical improvements expected with the new models. First of note, the 13 inch model will have bezels shrunk and the screen expanded to be considered a 14-inch computer, like when Apple [released the 16-inch MacBook Pro](https://www.apple.com/newsroom/2019/11/apple-introduces-16-inch-macbook-pro-the-worlds-best-pro-notebook/). They will adopt a flat, iPad Pro-like design language, remove the Touch Bar, add additional I/O and restore MagSafe charging. + +The most interesting thing to note is that Apple will stop offering Intel-powered MacBook Pros with this redesign. They will likely offer MacBook Pros that equal or surpass the performance of the top MacBook Pros currently shipped. This means we will likely be seeing a GPU that outperforms the Radeon RX 5600m (a card that [performs favorably to the mobile RTX 2060](https://www.notebookcheck.net/Radeon-RX-5600M-vs-GeForce-RTX-2060-AMD-is-So-Freaking-Close.477270.0.html)) and provides all the expandability the current MacBook Pro offers. To keep the size of the SoC reasonable, Apple may need to make the GPU discrete and separate it from the rest of the components. It's been reported that Apple [has been testing 16 and 32-core GPUs](https://www.engadget.com/apple-silicon-mac-cpu-roadmap-leak-142247372.html) for their high-end MacBook Pros. + +As for the CPU, the M1 is offered in the lower-end 13-inch MacBook Pro, and I don't expect that to change. The redesigned 14-inch MacBook Pro will likely be the higher-end option, and if LeaksApplePro is to be believed, it will be offered with a 12-core CPU at the base, while the 16-inch may get a 16-core chip (or [possibly 20 cores](https://www.engadget.com/apple-silicon-mac-cpu-roadmap-leak-142247372.html)). The industry currently uses 8-cores as the max for mobile CPUs, so Apple would immediately become an industry leader with these chips. + +https://twitter.com/leaksapplepro/status/1330417977662054400?s=21 + +If you're in the market for a capable Pro laptop, you may want to wait and see what Apple has in store for the first half of 2021. If the M1 chip is more than enough for your workloads, you can snag an M1-powered MacBook Pro for [$1224.92 on Amazon](https://amzn.to/3ikHekz). + +## iMac + +From [Bloomberg on January 15th](https://www.bloomberg.com/news/articles/2021-01-15/apple-plans-redesigned-imac-new-mac-pro-smaller-mac-pro-cheaper-monitor), it was reported that Apple is planning on a new, redesigned iMac. This would be the first major redesign since the chin-based aluminum unibody design was introduced with the 20" iMac in 2007. And for good reason, too. Apple Silicon's thermal capabilities will allow for Apple to add a more powerful CPU & GPU while simultaneously keeping a slim profile to the iMac. It's expected this redesign will incorporate the design language first introduced with the Pro Display XDR. It will also increase the display size from 21.5" to 24". + +As for the chips themselves, Apple [has reportedly been testing chips](https://www.engadget.com/apple-silicon-mac-cpu-roadmap-leak-142247372.html) with as many as 20 cores (16 high performance) for use in their higher-end iMacs and MacBook Pros. They are also believed to be testing GPUs with 16 and 32 cores for these machines. Because external GPUs are no longer an option with Apple Silicon Macs, Apple will likely incorporate powerful on-board graphics to negate the need for an external GPU. + +This machines will be shown at some point in 2021. Early rumors pointed to March as a potential release date, but higher-end models could come out in the fall. + +## Mac Pro + +The [Mac Pro revealed in 2019](https://www.apple.com/newsroom/2019/06/apple-unveils-powerful-all-new-mac-pro-and-groundbreaking-pro-display-xdr/) was a groundbreaking change to the previous, cylindrical Mac Pro from 2013. It featured a huge, full aluminum chassis designed for extreme performance and modularity. It features up to a 28-core Xeon CPU, 2x Radeon Pro Vega II Duo GPUs, and up to 1.5TB of RAM. This machine is the most powerful Apple has ever built, and the concept of Apple building a machine powered by Apple Silicon with this level of performance is breathtaking. + +However, if recent reports are to be believed, Apple may be working on two Mac Pros. On January 15th, Mark Gurman reported on [two new Mac Pros](https://www.macworld.com/article/3603414/imac-redesign-in-the-works-half-height-apple-silicon-mac-pro-coming-this-year.html). One will offer the highest performance Apple can get from Apple Silicon-based chips. The other would be an update to the current design, and would continue to feature Intel chips. This could be for compatibility reasons. Rumors suggest this would be the only machine to remain on Intel, at least for a short while. + +The half-sized Mac Pro could feature GPUs with 64 and 128 cores, which would make them "several times faster than the graphics options Apple uses from AMD". Such performance wouldn't be cheap, but it would make Apple's graphics performance competitive against the top-end from AMD and NVIDIA. + +These machines are expected in 2022. + +## Mac mini + +The Mac mini was the first Mac to come with Apple Silicon, in the way of the Developer Transition Kit with an Apple A12Z SoC onboard (same as in the [2020 iPad Pro](https://amzn.to/3nOXHPd)). Leading up to the November introduction of the M1-powered MacBooks, there was no rumors indicating a Mac mini update coming. And yet, it was revealed with the M1 inside. For what you get from the chip, the Mac mini is one of Apple's cheapest Mac offerings, while simultaneously being one of their best. With that in mind, it's possible Apple is planning for more updates to the machine, and rumors just haven't gotten out about it yet. There are a few things to note about the current generation that indicate an update coming in the near future. + +The biggest indication is the continued support of their Intel-based Mac mini. The Intel-based Mac mini supports up to 64GB of RAM and 10Gbps Ethernet, both options that are not available on the M1 Mac mini (limited to 16GB RAM and Gigabit Ethernet). In addition, the Intel Mac mini has four Thunderbolt 3 ports and supports up to three displays, while the M1 Mac mini supports just two USB-4 ports and two external displays. The networking needs to increase to fulfill demand for data centers. Additionally, pros will benefit from more RAM, more powerful graphics, and more I/O. + +In initial teardowns of the machine, [9to5Mac notes](https://9to5mac.com/2020/11/18/m1-mac-mini-teardown-why-isnt-it-smaller/) that the logic board on the M1-powered version takes up 30-40% less space than the Intel version. Apple maintained the same form factor as previous iterations of the Mac mini, but doesn't make use of the space available. Apple is a company known for going slim when they can, or otherwise using all the space available in their machines. And with the change from a [65 watt Intel chip](https://ark.intel.com/content/www/us/en/ark/products/134892/intel-core-i5-8500b-processor-9m-cache-up-to-4-10-ghz.html) to a [20-24 watt M1](https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested/5), there's plenty of headroom for Apple to play with. There are two routes Apple might go. + +1. Slim out the Mac mini, expand I/O and RAM with an M1X chip (or whatever it may be called). +2. Pack in a higher-performance CPU and GPU, expand I/O and RAM, and keep the form factor the same. + +Either way, it looks to me that the Mac mini is ready for a more powerful update in order to make its Intel counterpart obsolete. No rumors or timeline are currently being discussed. + +--- + +As the Apple Silicon transition continues, I'm excited to see what performance Apple is able to eke out of the whole Mac lineup. Expect the iMacs and MacBook Pros to be released sometime this year, and the highest end Macs in the first half of 2022. + +If you want to experience M1 and what Apple silicon offers, you can't go wrong with Apple's current offerings. + +- [M1 MacBook Air](https://amzn.to/3645lPV)($989.66 on Amazon) +- [M1 MacBook Pro 13-inch](https://amzn.to/3ikHekz) ($1224.92 on Amazon) +- [M1 Mac mini](https://amzn.to/3svTljs) ($669 on Amazon) diff --git a/yarn.lock b/yarn.lock index 4acd363..d9a946a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -85,6 +85,14 @@ dependencies: prismjs "^1.28.0" +"@astrojs/sitemap@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@astrojs/sitemap/-/sitemap-1.0.0.tgz#d5e7360e08f8f3b17bb1b8faa4c882aa39d18c25" + integrity sha512-42GxuF5FP7RaKXZrwGLBLOX3hPv+Wl7ExJC43O0J5e34ojJkLeKf7QfwN1UwrJlqH0Ywi0Fm4/xGe482G09+wg== + dependencies: + sitemap "^7.1.1" + zod "^3.17.3" + "@astrojs/tailwind@^2.1.2": version "2.1.2" resolved "https://registry.yarnpkg.com/@astrojs/tailwind/-/tailwind-2.1.2.tgz#0004fb05bb574b0110cb5c4874bd611764cfc5a7" @@ -584,6 +592,16 @@ dependencies: "@types/unist" "*" +"@types/node@*": + version "18.11.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.9.tgz#02d013de7058cea16d36168ef2fc653464cfbad4" + integrity sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg== + +"@types/node@^17.0.5": + version "17.0.45" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" + integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== + "@types/parse5@^6.0.0": version "6.0.3" resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-6.0.3.tgz#705bb349e789efa06f43f128cef51240753424cb" @@ -594,6 +612,13 @@ resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== +"@types/sax@^1.2.1": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.4.tgz#8221affa7f4f3cb21abd22f244cfabfa63e6a69e" + integrity sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw== + dependencies: + "@types/node" "*" + "@types/unist@*", "@types/unist@^2.0.0": version "2.0.6" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" @@ -689,7 +714,7 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -arg@^5.0.2: +arg@^5.0.0, arg@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== @@ -3265,6 +3290,11 @@ sass@^1.56.1: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sax@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + section-matter@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" @@ -3337,6 +3367,16 @@ sisteransi@^1.0.5: resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== +sitemap@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.1.1.tgz#eeed9ad6d95499161a3eadc60f8c6dce4bea2bef" + integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== + dependencies: + "@types/node" "^17.0.5" + "@types/sax" "^1.2.1" + arg "^5.0.0" + sax "^1.2.4" + slash@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7"