Two mini PCs, facing off against each other in a race that’s somewhat network dependent. What fun!
I got a couple of those weird mini NUC-style PCs. They’re very cosmetically similar PCs, of the “AK2” variety, that you can get on the Amazon for between $70 and $175 depending on what deals are going on and spec. They were bought for other things, but I figured why not see what the difference is between a couple of generations of Celeron?
Similar things on each: both have 2x HDMI ports, a smattering of USB 2 and 3 ports, RTL8111-family GbE network, onboard single-port SATA, AC wireless (one with an Intel card, one with a Realtek). The differences are memory, CPU, and storage (outside the SATA).
AK2: J3455 - Celeron J3455 Apollo Lake (4c4t), 6GB RAM, 64GB eMMC, no NVMe slot (there is an open slot but it’s Mini-PCI for some reason)
AK2 “Pro”: N5095 - Celeron N5095 Jasper Lake (4c4t), 12GB RAM, 256GB NVMe SSD (this came with an SSD that threw a ton of errors during Ubuntu installation.. swapped it for a known-good 256GB drive but not sure if that was just weirdness or that the pack-in drive is flaky)
To do the drag race, I set both of these up with Ubuntu Server 22.04 LTS with full updates, pyenv
, and Docker Engine; and connected them to my network via Ethernet. The Ethernet connection is somewhat bottlenecked as I’m using the two Ethernet ports on the TP-Link Deco P9 mesh pod in the room where they are, and that’s generally using the slower HomePNA powerline backhaul to the rest of the netwrok. But, they ranged from 7-10MB/s when both were hitting the network simultaneously to about 15MB/s when one got full shouting rights over the cable, and they were run so they were both basically sharing space all the time.
The workload I chose was setting up an Open edX devstack instance on each from scratch. Open edX is a pretty big thing - a full “large and slow” setup ends up with 14 Docker containers - and there’s a smattering of compiling stuff and decompression and database ops and all that, so it seemed like a good fit. (Plus, I’m really familiar with it. The day job mostly entails writing software that interfaces with Open edX in some manner, so I’ve run it on much faster systems than these two.) However, it’s worth noting that some of these steps are very network bound, and those steps are noted as such. I did include the preliminary Python setup steps here too, so that’s a lot more compiling.
Here’s the results. The times listed are the Real time from time(1)
.
J3455 | N5095 | ||
---|---|---|---|
pyenv install 3.11.0 |
10m40s | 05m20s | |
pyenv virtualenv |
00m12s | 00m05s | |
make requirements |
01m35s | 01m09s | - this step is pretty network dependent |
make dev.clone.https |
04m56s | 05m00s | - this step is pretty much just network access (cloning GH repos) |
make dev.pull.l&s |
10m20s | 09m39s | - yup a lot more network, this time Docker stuff |
make dev.provision |
108m54s | 51m32s | - this one is not network |
Round 2: now with identical TeamGroup AX2 SATA SSDs (512GB) connected to onboard storage and fresh install of Ubuntu Server 22.04. Some of the network speeds went up here; the machines got kinda out of sync and so they had the network to themselves for a bit.
J3455 | N5095 | ||
---|---|---|---|
pyenv install 3.11.0 |
10m40s | 05m22s | |
pyenv virtualenv |
00m12s | 00m05s | |
make requirements |
03m35s | 01m11s | - this step is pretty network dependent |
make dev.clone.https |
04m04s | 06m33s | - this step is pretty much just network access (cloning GH repos) |
make dev.pull.l&s |
09m22s | 07m31s | - yup a lot more network, this time Docker stuff |
make dev.provision |
90m03s | 43m48s | - this one is not network |
The most telling of these is the first and last result - pyenv install 3.11.0
and make dev.provision
are places where you can really tell what the difference a couple of generations of Intel architecture enhancement make. As a reminder, these two chips are about 5 years apart (Skylake to Ice Lake; 6th gen Core to 11th gen). Interestingly, the performance difference is about the same as the cost difference. The J3455 system was about $75 and the N5095 system was about $150.
Neither of these systems are particularly performant (and they’re probably gonna lose those 512GB SSDs) but they make good point of need systems for lower-end tasks. They’re pretty small - roughly 5in square and about 3in high. The J3455 is going to be a Home Assistant box because it’ll outperform the Raspberry Pi 3 that’s currently doing that task and it’ll fit nearly anywhere.
A couple weird hardware things I’ve noticed:
Most of this was from some videos by Goodmonkey on YouTube. He had some better luck with the AK2/GK2 pricing than I did. (But I might also look at deploying these TP-Link Omada WiFi dingles..)
Full disclosure: this is more or less going to be however many words of me hating on my MacBook Pro. Just so you know.
I have a 2019 13” MacBook Pro system, the base two USB-C port model with slightly upgraded storage (256GB from the base 128GB). I bought this system to do software development and as a general purpose daily driver to replace the hodgepodge of machines I was using so I could be a more effective software developer on a project I was working on. The choice to get this particular model machine came down to cost, capabilities over the similar tier MacBook Air model, and desire to have a macOS-based system (as my dev toolchain works best on a Unix-y system). This was a $1,500 system when I bought it, after my educator discount and fortuitous timing to get it during a tax-free weekend.
This thing was a mistake. (This is the bit where I just complain about this dumb computer.) On paper, it seems pretty nice for the time, but there’s problems. The 8th generation Core i5 CPU in there was getting old, even in 2019, and it doesn’t help that it’s a laptop efficiency SKU so base clock on it is 1.4GHz (and no HyperThreading). The 256GB storage is far more limiting than it seemed it would be. The keyboard, well.. this one’s got the 3rd generation butterfly switches, so it doesn’t fail if you look at it wrong or happen to not live in a clean room, but the switch feel is terrible. Some of this I tried to remedy - really, this thing mostly lived as a desktop, so I’ve amassed a bunch of USB-C dongle docks and one quite fancy CalDigit one, and so I had additional storage hooked in and screens and a real keyboard - but then you have to deal with macOS getting confused by there being things attached and then generally sometimes forgetting that there are screens, getting stuck in beachball mode, etc. All the while, WSL kept getting better, and PC parts kept getting cheaper, so ultimately I ended up building (now a handful of times - fiddling with things is fun!) a desktop system that’s now my daily driver and the Mac rarely gets used anymore. I didn’t even miss it when it had to spend a week or so out at AppleCare for service. (The keyboard broke. But not in the way everyone’s did - my backlight gave up. So, it’s got a new keyboard now. And a new screen, because the shitty webcam also failed. First time I’ve sent a machine in for service in maybe a decade.)
Now, the easy fix for this is one you can do on the front-end: don’t buy the base model. I thought 8GB RAM, especially coupled with Apple’s “fast” SSDs, would be OK, but really with the stuff I tend to need to have running (which includes Docker, IDEs, all that) it doesn’t work out. I thought too that I could make do with 256GB but that just meant I was running the SSD close to full all the time, which is bad. And sorry 1.4GHz Core i5 sucks. Just does. Almost as much as the keyboard. So, why didn’t I get the 4-port model instead? In this case, because the cost went up dramatically - I got this thing during a tax-free weekend, so not only would stepping up mean going to the $1,800 system or so, it’d also mean paying another roughly 10% more in sales tax, so really instead of a $300 difference, it’s closer to $600. (In Tennessee, tax-free weekends cover computer purchases up to $1,500 as long as they’re entirely under that amount. Go a penny over and the entire purchase price becomes taxable again.) Plus, the obvious - I had the money for that machine, and not more than that. So, I dealt with it and as things went on built up my daily driver desktop PC into the fairly ridiculous system it is.
Laptops are nice to have and it’s also nice to be able to do stuff from not my desk with the questionable ergonomics, so I’ve been looking and thinking about getting a new system. I’m also now mostly a Windows user again - Docker and WSL 2 especially make things a lot nicer for the things I need to do - so I’ve been considering those things too. I’d mostly thought on a Dell XPS 13” or HP Spectre x360 13”, as I like the form factor of the smaller machine. Either of those would run about $1,500 - of those, the Spectre was the winner since Dell likes to run warranty scams and it just had better specs for less money. But, I saw that Best Buy actually had a Lenovo system for pretty cheap that had pretty nice specs. Poor impulse control said I could get it, so I did.
The machine I got is a Lenovo Yoga 6, which I suppose is nominally part of their ideapad line, so not a fancy ThinkPad system. It’s a 13.3” machine again, occupying the same 2d space as the MacBook Pro but somewhat thicker (maybe about 33%? Both of these machines are super thin) largely due to its convertible nature (has touchscreen, folds backwards). The screen isn’t quite as nice as the Mac’s - just a 1080p panel versus the sort of 2.5k that the Mac has that you can’t actually run at native resolution - but it’s close enough. The trackpad isn’t as nice but it’s worth noting that Windows Precision trackpads are leaps and bounds better than what used to come on Windows laptops. (Again, it’s close enough.) Port selection is way, way better - 2 USB-Cs and 2 USB-As, though only one of the USB-Cs supports PD, and no headphone jack on the Lenovo. The keyboard is so much better and mine’s even slightly broken - the LEft Shift Key Sticks Occasionally - but the layout is comparable to the Mac and is even backlit. No touch bar, which I prefer but I wasn’t a touch bar hater. (Escape is still roughly in the same place either way but tactile feedback is nice, but on that same token, the touch bar does some neat things too that I sort of miss a bit.) Has a fingerprint reader! The webcam sucks - it’s a 720p thing, but it works, I guess - but as a nice touch it has a physical shutter you can activate. Mine came in a nice darkish blue with a denim cover on the screen, which I like a lot. Needless to say, this is a plastic machine, but it’s nice plastic.
The guts are where the thing really stands out. Even adjusting for time, it’s way better. The Lenovo came with an AMD Ryzen 7 5700 CPU, 16GB of RAM, and a 512GB SSD that’s actually upgradable. This means it’s got a CPU that’s pretty comparable to my desktop and better graphics than most anything Intel has, especially the UHD stuff that’s in the 8th gen. (Prob worth noting that despite the name the laptop 5700 Ryzen is internally a Zen 2 CPU, so it is really the baby laptop-style sibling of my main machine’s Ryzen 7 3700X. Same architecture, same 16 threads, but clocks and TDP are different, and the laptop CPU’s got graphics where the desktop one does not.) 16GB RAM is good too, especially since that isn’t upgradable, and though it’s limited to PCI-Express 3.0 I can swap in a bigger SSD easily. The SSD itself is a Western Digital Black model, even, that I believe benchmarks faster than the one in the Mac too. (I can feel the difference between it and the ridiculous Sabrent Rocket PCIe 4.0 one in the desktop but that’s a ridiculous drive.)
Price comparisons are a fun thing to do, so let’s do that. I looked on the Internet’s favorite auction and corporate intimidation site, eBay, and found that my MacBook Pro can be had for around the $600-$700 mark at this point. Which is handy, because the Lenovo was $700. Yep. Granted, I saw this system on Best Buy via the Ars Technical deals thing, so it was on sale - normally it’s $950.
Basically, this all made me somewhat more annoyed than I was with the Mac before - if I stripped out the macOS requirement when I was looking initially, I’d have ended up with a much better laptop, and now, barely 2 years later, I spent about half the price of the Mac and got easily way more machine. Oh well. At least the USB-C dongles and such are still useful - while the Lenovo lacks Thunderbolt (it’s an AMD machine), it’s still got a couple of whatever the fast USB C ports are so I can still use ‘em. (And part of my annoyance was/is those things - I have like 3 of the dongle dock things, and the CalDigit one wasn’t cheap.)
So, moral of the story: don’t buy the base model, and, yeah, look at the damned Windows machines. I’d have been happier with either a contemporary Dell XPS or HP Spectre/Envy or something or by saving a bit more and getting one of the 4-port MacBook Pros. (Or even the Air, really - 512GB storage would be better. Or being able to upgrade the storage. Damned Apple SSDs aren’t even that fast. They’re not magic.) I am, though, real impressed with this cheap Lenovo.
Other thoughts: Battery life is still pretty great - I get a good 8 hours at least depending on what I’m doing. Lenovo gives you a year warranty and adding on up to 4 years is pretty cheap - something like $200ish to go up to 4 total years with on-site support; less if you’re good with shipping it out. Mine didn’t have too much bloat crap on it, just a handful of annoying Lenovo apps and McAfee (or the ghost thereof), all of which (other than a couple of Lenovo things to make the support site work) went away when I reformatted and installed Windows 10 Pro. I can’t unlock it with my watch, but then most of the time I unlocked the Mac with the Touch ID sensor because the watch unlock is really slow. The convertible bit is pretty nice, though I won’t use it much. Still nice to have and because of poor impulse control I did get a Wacom Bamboo pen for it, which works pretty well (at least as good as my ancient Surface Pro 4 pen). I have in fact used it a few times in the short time I’ve had it so far. And man the keyboard. It’s like it was designed by people who actually use their computers for things and who might want to type on them occasionally. Nice travel, nice tactile bump, and this isn’t even the nicer ThinkPad keyboard. Being able to actually do things from the couch is nice.
So, I have this PowerBook G4 that’s been sitting on a shelf for a while. It’s not a terribly interesting model - just a regular 15” one, second-to-last generation, that’s basically stock except for a slightly upgraded hard drive (faster, but not any more spacious). I believe I originally got the machine maybe 12-13 years ago as a “it’s gonna get thrown out otherwise” deal from one of the various jobs I’ve had, just as an extra machine to do things with. (It’s old enough that Intel machines were out by this point, and this was even then skirting the edge of usefulness as a PowerPC Mac.) At some point, it got given to a friend to use for audio stuff, and then ended up back in my hands a year or two ago, where it’s sat since then. I think I tried to power it up once and it really wasn’t having it, so it got turned back off and shelved.
I ran across the thing the other day while doing some reorganizing and decided, why not see if this thing works? So, I pulled a power adapter (fortunately I actually have a couple!) and gave it a shot. Lo and behold, it actually did power back up and at least tried to boot! This was pretty surprising. It didn’t boot successfully, but it at least got to a point where I could start it in verbose mode, so that was nice. A burned Tiger DVD later and.. yeah, the hard drive gave up the ghost. I happened to be watching one of the myriad YouTube channels about retro computing, and ended up watching a video about putting a mSATA SSD into a Titanium Powerbook G4. Fortunately, it also listed the specific parts necessary for this, so I headed to Amazon and made a quick purchase. (You do have to be a bit careful with the SSDs - chips to convert SATA to old-style parallel ATA are pretty easy to come by, as are enclosures that give you that plus an m.2 slot for an actual drive. But, the drive itself needs to support mSATA specifically - a sufficiently fancy NVMe one may not. So, it was nice to have specifically an enclosure and drive pair that worked, and worked in a PowerBook G4 specifically, even if it was a much older one.) Once all that arrived, I pulled the machine apart (which is simply a case of “take out all the screws, use a bit of prying, hope you remember where the screws went”) and swapped out the now-dead hard drive with the assembled mSATA enclosure. Reassembled and hey! now I have an actually working PowerBook G4 running Tiger.
As a side note: it’s pretty impressive how much faster even a really cheap, probably somewhat iffy SSD is over a spinning rust disk.
With Tiger installed, I put a couple of older games on there and a few useful things, like TenFourFox (a modern version of Firefox compiled to work on old versions of Mac OS X and with old PowerPC processors). The next step was getting Linux on it, because of course. I tried Adelie Linux, which still produces a PowerPC version (and also because the channel that did the TiBook upgrade has a video on putting that on a G3 iMac) but it seemed like too much work. (There’s no installer, so you’re basically bootstrapping it via chroot by hand. The “too much work” thing.. well, that’s a pretty dubious line.) So, it got Debian Linux 8, which does have a proper installer. It works pretty well! Obviously, with some caveats, given the age of the CPU in it and the limitations of the hardware in general, but Firefox seemed to work OK. Really, the biggest pain was resizing the existing Tiger install - mainly because that OS is old enough that it doesn’t understand resizing partitions, so I had to clone it to a flash drive (which it can’t boot from, because Open Firmware), repartition the drive, then clone it back, and oh did I mention that this machine just has USB 2.0? That took awhile. All in all, though, it did work, and now it will dual-boot into Debian and Tiger.
Now, because I am a terrible nerd, I also recalled that OS X used to ship with X11. Not installed by default, but it was on the DVD, so that got installed too. Now I can do stupid Unix tricks with the much, much, much faster Core i5-4570 Ubuntu system sitting headless on a shelf behind it. Unfortunately, the version of X that comes with Tiger is rather old, so it’s not particularly happy working with modern things (and modern things aren’t particularly forgiving of this, and therefore crash). There is, of course, more than one way to do this.. so a download of Xcode 2.5 was initiated, and, lo and behold, MacPorts actually still supports OSes all the way back to Tiger. With Xcode installed, I went ahead and installed MacPorts as well. Some hours later, I have now a working MacPorts setup on here.
Another aside: I also installed WebObjects. Ask your elders. I have a boxed copy of this on my shelf, so printed manuals that might not be too horribly out of date with the copy that’s installed on here. Maybe I’ll do something with it!
The MacPorts setup on older platforms like this basically works by replacing all the development tools with its own toolchain. So, while you need Xcode installed so it can at least bootstrap itself, it’ll install its own copy of gcc and all that so it can bring up whatever package you’re trying to install. (This is basically a BSD ports-style distribution, after all - it’s less a package manager like apt and more a build script manager. Everything is compiled, except where it’s not a compiled language or whatever.)
So, “sudo port install xorg-server” was run. And that’s where this story ends for now, because that was.. quite literally 12 hours ago. It’s not done yet. It’s still compiling libgcc. It stopped in the middle, even, because it required manual intervention (literally, running a command, but still) to disable a library so it could continue building things successfully. Perhaps it will be done in the morning, but I doubt it; there were a lot of packages that needed to be done up and just the bzip2 install alone took an hour or so.
Needless to say, the takeaway so far is: 1.5GHz G4s were really fast in 2005. They aren’t so much now. Bootstrapping a modern compiler toolchain on such a machine - even one with an SSD - takes a while, because there’s only one core, because that wasn’t a thing yet. (Not in consumer applications, anyway.) On the plus side, I know this machine definitely works fine, because the load average on it has sat at 1.3 since this process started.
I do have some more stuff to do with it - it’s only got 1GB RAM, so I’ve got another DIMM on the way - but really this will be around to play old games on and maybe fiddle with old developer tools and stuff. And stupid Unix tricks.
Final aside: because old games, I did have to get Mac OS 9 installed on it. Problem: this machine is too new to boot OS 9. (It being a PowerPC means it runs in Classic on this system.) So, I had to figure out how to install OS 9 via Classic without the restore CDs, which would have included a disk image Classic environment to work with. I did figure that out! So it actually, technically, runs 3 OSes - OS 9, OS X 10.4.11, and Debian Linux 8. (And maybe Leopard if I can find my DVD of it. I don’t know that I want to buy a spindle of dual-layer DVD-Rs.)
So, at the beginning of the lockdown situation I had a go at refurbishing an old corporate desktop class machine for use by a friend. This thing was an Optiplex 790 or some such tomfoolery, which was a first-generation Core i7 machine in the small form factor case (closer to a Mac mini in size, low-profile PCIe slots, etc.). It actually impressed me when it was done - it was a perfectly capable lightweight computing machine. My refurbishing extended to all of fitting 16GB RAM to the thing (it had none at the time) and putting Windows 10 on it (which activated with the 7 license it had - corporate desktop!), and even with the spinning disk inside as a boot drive, it’s perfectly fine even for some rather older games, and handles basic tasks like web browsing and Office perfectly well. I did hold off on replacing the hard drive with an SSD, though - some quick looking showed that the price of doing that (even with how cheap SSDs are now) wouldn’t have been a good idea.
The looking did give me ideas, though, as to what you can get for not much money. The dumb-no-longer-dumb-but-real-PC really started up as an experiment to see how cheaply you could build a decent PC, and that got pretty cheap but some more eBay searching and benchmarking indicated that you could do, perhaps, a bit better. So, I started looking at some of these business PCs, specifically the small form factor ones, and basically came up with this: for between $100 and $150, you can get a 3rd or 4th-gen Core i3/i5 system with some memory (generally about 8GB) and a spinning disk drive (usually around 500GB, though sometimes bigger or sometimes SSD), and it will likely have Windows 10 on it. That’s a complete computer (unless you want to get a bit tetchy about it not having a keyboard, mouse or monitor). To put that into perspective, the new build involved a Pentium Gold CPU for about $70, and about another $50 on the motherboard, and that doesn’t include even RAM or storage.
Prices spike after the 4th gen CPUs at this point in time, and systems with i7s in them come at a premium as well that I’m not entirely sure is worth the additional cost or jump down to a 2nd-gen CPU. (I’d rather have a i5-4560 rather than a i7-2660, personally.) You’re also not going to get a real GPU most of the time with these - onboard or bust - and if you get an SSD, it’s going to be a 120GB one. (I did look, and while I was more after a SFF system, a regular midtower doesn’t incur a price premium, other than maybe additional shipping cost.) But, that’s still a complete system, with a licensed and activated copy of Windows 10, for about $150. And, that’s a fair amount of computer too - it’s not going to be the thing you want to depend on to do your 4k renders for YouTube, but for most anything else it’ll be perfectly acceptable. Even some software development stuff shouldn’t be too hard to do on a machine like this.
I did end up putting a bit of money where my mouth is on this one, and I ended up with an HP ProDesk 600 G1 SFF machine. Spec-wise, this thing came with 8GB DDR3, a 500GB spinning disk (with two! empty bays and matching SATA ports for each, one of which a 2.5” one), a DVD-DL RW drive, a Core i5-4570 CPU (3.2GHz, burst to 3.6), and Windows 10 Pro. Also handy: 3 PCIe slots (one 16x and two 1x), DisplayPort, and USB 3 ports. And a serial port. Because business. It’s also a vPro capable system, so it even has some rudimentary LOM stuff on board and ready to be an attack vector because Intel has problems with that. I’m going to drop a 240GB or so SSD in it (those run about $30 these days) and another 8GB RAM to.. bring it half to max - did I also mention it’s got 4 RAM slots and supports up to 32GB RAM? No? Well, it does - and then basically leave it alone. The spinning disk in there hurts performance a good deal, as they always do, but it’s a pretty decent machine otherwise, and it did for sure boot into an activated install of Windows 10 Pro. With shipping costs, this ran me a total of $105.
I like the way the Dell SFFs are done up - they just seem really solid and.. dense, really, which is nice - but I actually think I prefer the HP layout. It’s a bit bigger than the Optiplex SFFs but all of the bays are on a swing-out bracket, and there was even spare mounting screws included (in a designated spot, from the factory) for adding additional drives. There’s a 3.5” and a slim 5.25” external bay, and a 2.5” and 3.5” internal bay each. So, with some additional commodity mounting brackets, you could slot a total of 3 SSDs in here and have a pretty decent little storage server. Expandability is pretty nice on here - it of course uses low-profile cards, as do most any SFF-style machine, but three total slots is pretty good, and there’s a good number of USB 3 ports on the front and back. (And, of course, vPro management stuff and the one somewhat neat thing that tends to get glossed over: the internal speaker’s hooked to the sound card, so you have actual audio without having to hook up speakers. Not good audio, but not just the 1981-style PC beeper either.) One big drawback here, though, is that the power supply is totally nonstandard; sometimes these things will have an SFX or TFX power supply, which is at least pin-compatible with ATX, but in a weird size. This doesn’t; the power going to the motherboard is totally weird. There’s like 3 different, beefy 6-pin connectors that would be at home in an Amiga. It’s a good PSU in there, but if it goes out, the machine is unlikely to be salvageable. Still, that’s a lot of good machine and options for the $105.
Now, am I going to use this as a desktop PC? Of course not. It’ll work fine for that purpose, but that’s not really why I wanted to get one. I also got a 4-port GigE card (also HP, with an Intel chipset) that uses a PCIe x4 slot, and that’s been added to it. In essence, this is going to become a router. Commodity WiFi routers cost about this same amount, but not ones that can be loaded down with Proxmox (and/or maybe Kubernetes) and pfSesne. (And obviously WiFi routers have WiFi, and this doesn’t. But, I’m just going to keep using my cheap TP-Link router, and just make it not do routing anymore. It’ll just have to manage WiFi and the what-passes-for-mesh networking I have.) So, for $100, another $30 or so for the NIC (you don’t have to get a quad-port one, but they all run about the same price via the eBay) and about another $60 in some upgrades I don’t really have to do, I’ll have a pretty decent home router and edge server. And it’ll be way easier to do WireGuard up to real cloud stuff too. And I can maybe finally use the IPv6 block I’ve had forever. And VLANs, because what every home network needs is 4 more networks laid on top of it!
In conclusion, if you need a decent amount of computing power, but don’t have or don’t want to spend a bunch of cash on a new build.. old business desktops are a thing to check out. $125ish for a machine that you can then slap an SSD and some sort of half-height video card into, and play some games or get some work done is a great deal - it’s excessively hard to compete with that by building your own from scratch.