Making my own office furniture: part 8

I haven’t posted a furniture update in a while…

Desk #2 has been done for a while now. It’s in the den. I love it. I’m not using it yet, because I need Desk #1 to be done before I migrate my office to the den. But every time I walk by that room, I wind up walking in there to see the completed desk and run my hands over the porcelain and oak.

The base of Desk #1 has been done for a long time. It was done before I started Desk #2, but I wound up completing desk #2 before returning to work on Desk #1.

I’m now in the process of building the top for Desk #1. The base has been done for a long time. Tonight I routed the final edge of the top and flipped the top upside down on the bench. I then assembled the base on top of it so I can mark the bottom of the top for the threaded inserts. As a reminder, the desk breaks down into 4 pieces. Threaded inserts and bolts hole the top to the base, and the 3 parts of the base are connected via long bolts into dowel nuts and aligned via guide pins into bronze flanged bushings.

I’ll post something outside of this thread about what I think about these new custom desks.

TREBLEET Super Thunderbolt 3 Dock: First Impressions

TREBLEET Super Thunderbolt 3 Dock at Amazon

https://www.trebleet.com/product-page/mac-mini-thunderbolt-3-dock-with-nvme-sata-slot-cfexpress-card-slot-gray

I received this on August 25, 2022. I immediately installed a Samsung 980 Pro 1TB NVMe, then plugged the dock into AC power via the included power supply brick and into the Mac Studio M1 Ultra via the included Thunderbolt 3 cable. The performance to/from the Samsung 980 Pro 1TB NVMe is what I had hoped.

This is more than 3X faster than any other dock in this form factor available today. Sure, it’s not PCIe 4.0 NVMe speeds, but given that all other docks available in this form factor max out at 770 MB/s, and that Thunderbolt 3/4 is 5 GB/s, this is great.

I also checked some of the data in system report. All looks OK.

My first impression: this is the only dock to buy if you want NVMe in this form factor. Nothing else comes close speed-wise. Yes it’s pricey. Yes, it’s not a big brand name in North America. But they did the right thing with PCIe lane allocation, which hasn’t happened with OWC, Satechi or anyone else.

There’s really no point in buying a dock with NVMe if it won’t ever be able to run much faster than a good SATA SSD (I hope OWC, Satechi, Hagibis, AGPTEK, Qwizlab and others are paying attention). Buy this dock if you need NVMe storage. I can’t speak to longevity yet, but my initial rating: 5 out of 5 stars.

Mac Studio M1 Ultra: Thanks, Apple!

I finally have a computer I LIKE to place on my desk. I’m speaking of the Mac Studio M1 Ultra.

Apple finally created a desktop that mostly fits my needs. My only wishlist item: upgradeable internal storage (DIY or at Apple Store, I don’t care).

This was partly coincidence. The Mac Studio with M1 Ultra ticks the boxes I care about for my primary desktop. Faster than my Threadripper 3960X for compiling my C++ projects while small, aesthetically pleasing, quiet and cool. 10G ethernet? Check. 128G RAM? Check. Enough CPU cores for my work? Check. Fast internal storage? Check. Low power consumption? Check.

I’m serious: thanks, Apple!

This machine won’t be for everyone. News flash: no machine is for everyone. But for my current and foreseeable primary desktop needs, it’s great. And it’ll remain that way as long as we still have accessories for Thunderbolt available that are designed for the Mac Mini or Mac Studio. This isn’t a substitute for the Mac Pro; I can’t put PCIe cards in it, nor 1.5TB of RAM (or any beyond the 128G that came with mine). It’s also way more than a current Mac Mini. But that’s the point: it fills a spot that was empty in Apple’s lineup for a decade, which happens to be the sweet spot for people like me. Time is money, but I don’t need GPUs. I don’t need 1.5TB of RAM. I don’t need 100G ethernet (though I do need 10G ethernet). I’m not a video editor nor photographer; my ideal display is 21:9 at around 38 inches, for productivity (many Terminal windows), not for media. Hence the Studio Display and the Pro XDR are not good fits for me. But the Mac Studio M1 Ultra does what I need, really well.

Some people at Apple did their homework. Some championed what was done. Some did some really fine work putting it all together, from design to manufacturing. Some probably argued that it was a stopgap until the Apple silicon Mac Pro, and that’s true.

That last part doesn’t make it temporary product. Apple, please please please keep this tier alive. There are many of us out here that can’t work effectively with a Mac Mini, iMac or MacBook Pro but find it impossible to cost-justify a Mac Pro. And post-COVID there are many of us with multiple offices, one of which is at home. At home I don’t need a Mac Pro, nor do I really want one in my living space. I need just enough oomph to do real work efficiently, but don’t want a tower on my desk or the floor or even a rack-mounted machine (my home office racks are full).

I don’t care what machine occupies this space. But I’ll buy in this space, again and again, whereas I don’t see myself ever buying a Mac Pro for home with the current pricing structure.

Mac Studio M1 Ultra: The First Drive

Given that my new Mac Studio M1 Ultra is an ‘open box’ unit, I needed to fire it up and make sure that it works properly. One of the things I needed to check: that it works fine with my Dell U3818DW via USB-C for display. I have seen many reports of problems with ultra wide displays and M1 Macs, and I do not have a new display on my shopping list.

So on Sunday I left my hackintosh plugged in to the DisplayPort on the U3818DW, and plugged the Mac Studio into the USB-C port. It looks to me like it works just fine. I get native resolution, 3840×1600, with no fuss.

I am using a new Apple Magic Trackpad 2, and an old WASD CODE keyboard just to set things up. I don’t really need the new trackpad, since eventually I’ll decommission my hackintosh and take the trackpad from there. But I need one during the transition, and it was on sale at B&H.

With just a 30 minute spin… wow. I honestly can’t believe how zippy this machine is, right out of the box. Therein lies the beauty of using the same desktop computer for 10 years; when you finally upgrade, the odds are very good that you’re going to notice a significant improvement. In some cases, some of it will just be “less accumulated cruft launched at startup and login”. But in 10 years, the hardware is going to be much faster.

Compiling libDwm on the Mac Studio M1 Ultra with ‘make -j20' takes 32 seconds. Compiling it on my Threadripper 3960X machine with 256G of RAM with ‘make -j24‘ takes 40 seconds. You read that correctly… the M1 Ultra soundly beats my Threadripper 3960X for my most common ‘oomph’ activity (compiling C++ code), despite having a slower base clock and only having 16 performance cores and 4 efficiency cores. While using a fraction of the electricity. Bravo!

“Moore’s Law is dead.”. In the strictest sense, just on transistor density, this is mostly true. Process shrink has slowed down, etc. But the rules changed for many computing domains long before we were talking about TSMC 5nm. See Herb Sutter’s “The Free Lunch is Over“. Dies have grown (more transistors), core counts have grown, clock speed has increased but very slowly when compared to the olden days. Cache is, well, something you really need to look at when buying a CPU for a given workload.

This last point is something I haven’t had time to research, in terms of analysis. If you need performant software on a general purpose computer, cache friendliness is likely to matter. Up until recently, reaching out to RAM versus on-chip or on-die cache came with a severe penalty. That of course remains true on our common platforms (including Apple silicon). However, Apple put the RAM in the SoC. For the M1 Ultra, the bandwidth is 800 GB/sec. DDR4 3200 is 25.6GB/sec if you have 8 channels. DDR5 4800 with 8 channels is 76.8GB/sec. Let that sink in for a moment… the memory bandwidth of the M1 Ultra is more than a decimal order of magnitude higher than what we see in Intel and AMD machines. My question: how significant has this been for the benchmarks and real work loads? If significant, does this mean we’re going to see the industry follow Apple here? AMD and Intel releasing SoCs with CPU and RAM?

I know there are tinkerers that bemoan this future. But we bemoan the loss of many things in computing. I’m going to remain optimistic. Do I personally really care if today’s CPU + RAM purchase turns into an SoC purchase? To be honest, not really. But that’s just me; computing needs are very diverse. Those of us who tinker, well, we might just wind up tinkering with fewer parts. I don’t see the whole PC industry reversing any time soon in a manner that creates a walled garden any more than what we have today. It’s not like the current industry hasn’t been good for Intel and AMD. Yes, computing needs have diversified and we’ve put ‘enough’ power into smaller devices to meet the needs of many more consumers. And Intel and AMD have largely been absent in mobile. But they’ve maintained a solid foothold in the server market, cloud infrastructure, HPC, etc. As a consumer I appreciate the diversity of options in the current marketplace. We speak with our wallets. If we’re a market, I trust we’ll be served.

Apple turned heads here. For some computing needs (including my primary desktop), it appears the M1 Mac Studio is a winner. It doesn’t replace my Linux and Windows workstation, nor any of my servers, nor any of my Raspberry Pis. But for what I (and some others) need from a desktop computer, the M1 Mac Studio is the best thing Apple has done in quite some time. It hits the right points for some of us, in a price tier that’s been empty since the original cheese grater Mac Pro (2006 to way-too-late 2013). It also happens to be a nice jolt of competition. This is good for us, the consumers. Even if I never desired an Apple product, I’d celebrate. Kudos to Apple. And thanks!

Mac Studio M1 Ultra: The Decision

I’ve needed a macOS desktop for many years. My hackintosh, built when Apple had no current hardware to do what I needed to do, is more than 10 years of age. It’s my primary desktop. It’s behind on OS updates (WAY behind). It’s old. To be honest, I’m quite surprised it still runs at all. Especially the AIO CPU cooler.

The urgency was amplified when Apple silicon for macOS hit the streets. Apple is in transition, and at some point in the future, there will be no support for macOS on Intel. They’ve replaced Intel in the laptops, there’s an M1 iMac and an M1 mini, and now the Mac Studio. We’ve yet to see an Apple silicon Mac Pro, and while I’m sure it’s coming, I can’t say when nor anything about the pricing. If I assume roughly 2X multicore performance versus the M1 Ultra SOC, plus reasonable PCIe expansion, it’ll likely be out of my price range.

Fortunately, for today and the foreseeable future, the Mac Studio fits my needs. In terms of time == money, my main use is compiling C++ and C code. While single-core performance helps, so does multi-core for any build that has many units that can be compiled in parallel. So, for example, the Mac Studio with M1 Ultra has 20 CPU cores. Meaning my builds can compile 20 compilation units in parallel. Obviously there are points in my builds where I need to invoke the archiver or the linker on the result of many compiles. Meaning that for parts of the build, we’ll be single-core for a short period unless the tool itself (archiver, linker, etc.) uses multiple threads.

It’s important to note that a modern C++ compiler is, in general, a memory hog. It’s pretty common for me to see clang using 1G of RAM (resident!). Run 20 instances, that’s 20G of RAM. In other words, the 20 cores need at least 1G each to run without swapping. Add on all the apps I normally have running, and 32G is not enough RAM for me to make really effective use of the 20 cores, day in and day out.

So 64G would my target. And given that the CPU and GPU share that memory, that’s a good target for me. However…

Availability of Mac Studios with the exact configuration I wanted has been abysmal since… well… introduction. I wanted M1 Ultra with 64-core GPU, 64G RAM, 2TB storage. Apple’s lead time for this or anything close: 12 weeks. I’m assuming that a lot of this is the ongoing supply chain issues, COVID and possibly yield issues for the M1 Ultra. Apple is missing out on revenue here, so it’s not some sort of intentional move on their part, as near as I can tell. While I think there are M2 Pro and M2 Max on the horizon for the MacBook Pro (I dunno, 1H2023?), I think it’ll be a year before I see something clearly better for my use than the M1 Ultra. I can’t wait a year, unfortunately. I also can’t wait 3 months.

In fact, since I’m closing in on finishing the den, and need to move my office there, this is now urgent just from a space and aesthetics perspective. I intentionally designed the desk overbridges in the den to comfortably accommodate a Mac Studio (or Mac Mini) underneath either side. I DON’T want my hackintosh in this room! I want quiet, aesthetically pleasing, small, inconspicuous, efficient, and not a major source of heat. I need 10G ethernet. Fortunately, the Mac Studio ticks all of the boxes.

Today I picked up what was available, not exactly what I wanted. It’s an open box and hence $500 off: a Mac Studio with M1 Ultra, 64-core GPU, 128G of RAM and 1TB storage. The only thing from my wishlist not met here: 2TB storage. However, I’m only using 45% of the space on my 1TB drive in my hackintosh, and I haven’t tried to clean up much. I don’t keep music and movies on my desktop machine, but if I wanted to with the Mac Studio, I could plug in Thunderbolt 4 storage.

I’m much more excited about moving into the den than I am about the new computer. That’s unlikely to change, since the den remodeling is the culmination of a lot of work. And I know that I’m going to have to fiddle to make the new Mac Studio work well with my Dell U3818DW display. Assuming that goes well, I’m sure I’ll have a positive reaction to the Mac Studio. The Geekbench single-core scores are double that of my hackintosh. The multi-core scores are 7 times higher. This just gives me confidence that I’ll notice the speed when using it for my work. Especially since the storage is roughly a decimal order of magnitude faster. The 2TB is faster, but the jump will be huge from SATA to NVMe for my desktop. I notice this in my Threadripper machine and I’ll notice it here.

My main concern long-term is the cooling system. Being a custom solution from Apple, I don’t have options when the blower fans fail. Hopefully Apple will extend repairability beyond my first 3 years of AppleCare+. I like keeping my main desktop for more than 3 years. While in some ways it’s the easiest one to replace since it’s not rackmounted and isn’t critical to other infrastructure, it’s also my primary interface to all of my other machines: the Threadripper workstation for Linux and Windows development, my network storage machine, my web server, my gateway, and of course the web, Messages, email, Teams, Discord, etc. It saves me time and money if it lasts awhile.

Grout color: sometimes you get lucky

I hemmed and hawed for a long time over the grout color for the den. The tiles are various colors (on purpose), with a reclaimed wood look. There are off-white, tan, brown, gray and charcoal tiles with different patterns in each color.

My typical go-to grout color is natural gray. Mainly because it works with many things, doesn’t grab attention, and is forever available from various companies (Laticrete, Mapei, TEC, Custom Building Products, etc.). Meaning you’ll be able to find it if you ever need a patch repair.

The den has wood paneled walls. Though it’s just plywood and moulding, the plywood is designed to look like edge-glued boards. It’s a stained red oak in color (probably originally ‘honey oak’), but the grain tells me it’s not oak. However, I wanted something that went _reasonably_ well with the walls. In other words, a brown grout of some type.

I chose SpectraLOCK Pro Premium from Laticrete because I’ve used it before and it’s a very good grout. It’s harder to install than a cementitious or ready-to-spread urethane or acrylic grout, but it’s worth the effort. It’s essentially stain proof after curing, it’s very strong, and in my experience it is very color-consistent from box to box (especially if you buy ‘Part C’ all at once to get boxes from the same batch).

The problem is that no one local stocks it. None of the big box stores carry it at all, except Floor & Decor which isn’t close to me. But the worst part is that you just can’t trust color swatches. While my main computer monitor is very color accurate, if I look at color swatches on various web sites for the color I chose, they vary dramatically. And the swatch on the grout box itself doesn’t quite match the cured grout.

I chose ‘#55 Tawny’, after thinking for a long time that I’d use Chocolate Truffle. I’m so glad I waited and gambled on the Tawny; it was the right choice. Mostly by sheer luck.

Using SpectraLOCK Pro Premium grout

It’s been a while since I’ve used Laticrete SpectraLOCK Pro Premium grout on textured tiles. I’m in the process of grouting the den floor, and the tiles are textured. The secrets to success as a DIYer with this grout…

  • Use the mini kits, not the full kits. The grout firms up fairly quickly, and becomes hard to work with in as little as 15 minutes (depending on temperature and humidity and the difficulty of the joints). You don’t want to mix more than you can use in about 15 minutes.
  • Use a 2-gallon bucket for the cleaning packets as prescribed, but use a separate 5-gallon bucket of clean water to rinse out the sponge before dunking it and wringing it in the cleaning solution again. This will put most of the epoxy into the 5-gallon bucket instead of your cleaning solution, and greatly reduce gummy build-up in the sponge.
  • Pay attention to timing. If you start the initial washdown too soon, you’ll just spread the epoxy around and probably nick up the joints. But don’t wait too long. I wait until it doesn’t stick to my finger before starting the initial wash down.
  • A white scrub pad is very useful on the second washdown. It will allow you to work the joints as needed, and loosen up epoxy on the tiles. I then use a sponge with a microfiber backing. One swipe with the sponge side, flip it over, one swipe with the microfiber.
  • As a final step I wipe down with a cheap microfiber cloth.

I’m using a 30% acetic acid (vinegar) jug to clean my sponges afterward, mixed in an appropriate ratio with water. Then rinse thoroughly. Since the mini kits come with their own sponge, I use that sponge for the initial washdown and then throw it away. It feels a little bit wasteful, but to be honest, you’re not going to get good use out of it beyond one mini kit.

Making my own office furniture: part 7

I bought 11/32″ plywood at Home Depot and another quart of Minwax satin wipe-on polyurethane at Menard’s.

The plywood will be used as underlayment for the porcelain tiles inset in the top of the under-desk rack cabinet. I cut it to size, checked the fitment, and marked it for screws. It will be screwed and glued (TiteBond III) to the existing plywood of the top.

The tiles in the top are 17+7/8″ square. I’m using one whole one and one that I cut to 8+1/4″ width tonight on the tile saw. I slightly beveled the edge after cutting. The plan is to use Loctite PL Premium MAX to adhere the tiles to the underlayment. This isn’t a floor, and in fact in its intended use it will never have anything on top of it. But if we ever decide we don’t want it to live under the desks, it will make a nice robust top. The tiles are PEI 4, which should far outlive me for a table top. I like porcelain table tops, since they’re impervious to water and heat. If they’re PEI 4 or PEI 5 porcelain, they’re also nearly impossible to scratch. Easy to clean, sanitary, etc. I’m not going to use epoxy grout here, but that’s an option when desired.

I think this cabinet is quite nice for it’s intended purpose. I went a little overboard in the mix of materials and the front door design, but that’s the advantage of designing and building your own stuff from raw materials and parts. You can take your time and get exactly what you want, without compromising in areas that matter to you.

Looking back at this, there’s an unconventional mix of materials and components in this cabinet design. It’s a computer rack designed for a specific set of gear arranged in a particular manner, so it has rack rails front and rear. It has casters. Neither of those are unconventional. But then the cabinet itself is made of edge-glued solid oak panels (not steel, not MDF). It has a skirt to hide the casters. It has a very unconventional front door, to show the gear in a subdued manner (tinted scratch-resistant polycarbonate) and vent from the sides, top and bottom of the door. The door has solid brass butler tray hinges. It has marine grade solid brass hold down latches to hold it shut. It has a guide pin and leaded bronze bushing to make it self-center every time it’s closed. The ventilation holes are covered with filters inspired by an antique pie safe I saw in a bakery 20 years ago. The bottom of the inside is covered with a piece of UHMW so it’ll be easy to get my UPS in and out without using rack slides. The top is porcelain framed in solid oak.

You can’t go out and buy this kind of thing at a store. You could commission it, but given the amount of time I spent on the design in SketchUp, it’d be expensive. But you can build it. It requires patience, persistence, and multiple skills (and tools). But that last part… we learn by doing. If you’re not afraid to fail, you can build just about anything. And as a software engineer, I really appreciate the fact that I can spend no money on materials until I have the design nearly completed in a 3D drawing on my computer. The execution of the design just follows the drawing.

The desks I’m building follow a similar pattern. The Delrin (acetal) feet aren’t typical. Nor is the porcelain top (I couldn’t find anything on Google with respect to building a desk with an inset porcelain slab). Nor is the combination of joinery I used (dowels, pocket holes, guide pins and leaded bronze bushings, dowel nuts with long bolts, threaded inserts).

Porcelain tiles of the size I’m using are relatively new here in the U.S., and given that I’m not running stringers under the top, could be considered ‘risky’. But my fear has been allayed by handling the tiles. Despite the fact that they’re 60″ long and 30″ wide but only 6.5mm thick, I’ve not broken one just carrying them around like pieces of plywood. And they will flex a bit without cracking. I do have suction cups for placing them, but I haven’t needed them for general handling. And it’s desk tops, not workbenches. I won’t be hammering on them, nor putting a ton of weight on them. There’s 1.25″ of plywood underneath, and 1″ thick solid oak bordering. The top will be on a very strong base. I don’t think the porcelain is going to crack on me. And it’s sanitary, PEI 5 (nearly scratchproof), impervious to any fluids I’d have on my desk (coffee, water, juice), and easy to clean. It looks like polished marble but it’s manmade (didn’t require carving up the planet). It can’t be dented by writing instruments. It won’t be bothered when I spill candle wax on it. My watchbands won’t scratch it. It doesn’t care about sweat, and in fact it’s a comfortably cool surface to rest your forearms on. I can adhere things to it (cable guides, phone dock, etc.) and later remove them with no damage whatsoever.

Risky? Perhaps. But from risks come rewards and learning experiences.

Making my own office furniture: part 6

I continued making filter panels for the under-desk rack. The frames are 3/4″ wide solid oak, with a recess cut in the back to hold the screen. The screen is 22 squares per linear inch (484 squares per square inch) 316 stainless steel. It’s supported by 1/4″ square galvanized mesh, just to make it more difficult to damage the stainless steel screen when vacuuming them clean. The screen and mesh are held in the recess with a bead of hot glue which won’t be visible.

Below is a picture of one of the side panels. Obviously I’m not looking to keep fine dust from passing. I don’t want a lot of restriction. I just want to keep things like pet hair and the like out of the fans in the gear in the rack. The stainless steel screen is 70% open.

I’ve finished assembling three of the four filters. I need more stainless steel screen to complete the final filter. It’s McMaster-Carr 9230T51.

Making my own office furniture: part 5

One of the desk bases is complete. The second one is built but needs stain and topcoat.

I’ve been working on the top for one of the desks.  As a reminder, here’s the desk design from SketchUp.

The base of the top is 3/4″ oak plywood. Above that is a piece of 1/2″ BCX plywood underneath the porcelain insert. The border of the top is 1″ thick solid oak, with four 5/16″ diameter oak dowels at each joint. The border sits atop the oak plywood. Hence the total top thickness is roughly 1.75″. Solid oak trim pieces cover the edges of the oak plywood.

Below is a picture from when I was testing the fitment of the porcelain insert.  There’s a 3/16″ gap between the porcelain and the frame.  This is to allow for flexible grout or caulk, since wood isn’t dimensionally stable compared to porcelain.

Yes, that’s a big piece of porcelain. Nominally 30″ x 60″. It’s 6.5mm thick. It has a PEI rating of 5 (the highest rating), so it’s unlikely that I’ll ever scratch it. If it’s good enough for commercial flooring, it’s good enough for my desktops. The design is a marble look, and I continue to be amazed at how far along this stuff has come in 10 years. It’s pretty, and zero maintenance (unlike real stone). Plus it’s manmade; it doesn’t involve carving up the planet. And I can move it by myself.

The downside… my desk base doesn’t meet the deflection requirements for tile or porcelain. That means that until the desk is in place, I will likely not install the insert. And I’m not going to use thinset to set it, since it’d likely just crack. I considered Ditra, but I don’t really trust it to hold the porcelain if I ever move the top later. While I love Ditra, I’ve never tried it in an inverted situation which might occur if two people are moving the top. Plus thinset would make the whole thing even heavier. Note that the porcelain alone is 38 pounds. I’m guessing that the whole top will be more than 80 pounds. My intent at the moment is to use Loctite PL Premium MAX to adhere the porcelain to the plywood. I may change my mind, but I think it’s my best option.

At any rate, I’ve installed the frame on the plywood base with TiteBond III and many cabinet screws from underneath. I also pin nailed and glued the trim pieces (not seen in picture above), which are clamped and curing.