Road Trip: A renewed view of the Second Amendment

Recently I had the great opportunity to take a road trip with my wife to southern Nevada. Being a freshly-renewed permitted carrier of a concealed weapon from Missouri, my wife and I planned the trip to have as little encumbrances to our CCW privileges as possible. So the route we planned took us south to Oklahoma City, west through the Texas “panhandle” and New Mexico and Arizona before turning north to the Las Vegas metro. Our stop in Kingman, AZ, gave us the chance to secure our firearms in a fire-proof lock box before hitting US-93 north. Nevada was the only State on that route that does not recognize my permit.

Driving through the rural southwest countryside gives you a renewed sense on the Second Amendment and what it’s really about, especially when you’re talking about a countryside that is much more sparse than what I’ve ever seen before, or at least recall ever seeing.

To give you an idea, New Mexico is 36th in the list of States by population, just two below Kansas, but 5th by square mileage. Missouri is 18th by population, 21st by area. Kansas is 15th by area. And in Kansas much of that population is gathered around three points: Kansas City, Topeka, and Wichita. Kind of like in Nebraska (just below New Mexico by population) where you have Omaha, Lincoln, and everywhere else.

Out in the rural areas, a firearm could literally mean the difference between keeping what you have or potentially losing some of your livelihood, if not our life.

Living in the city, it is quite easy to see how arguments for gun control can be considered. Everyone is relatively densely packed. Even in Kansas City, I can see how many could argue for gun control. Missouri has some of the loosest gun laws in the country, but Kansas City and St Louis make Missouri look bad in terms of violent crime. But consider Iowa, which has gun laws pretty close to Missouri, but some of the lowest violent crime rates in the country.

But again, that’s living in a metro. When you try to take the problems of living in metropolitan areas and act like those problems exist everywhere, resistance to that concept should not be unsurprising. But at the same time, the sense of independence among those living in rural parts of the country will feed into the resistance. You walk onto a cattle ranch in rural New Mexico (or rural anywhere, for that matter) and try to tell the owner and his/her family how they must live their lives, you’re not going to be met kindly.

One of the interesting paradoxes that plagues the firearms discussion is how major firearms incidents feed gun sales. Many on the gun control left have used this trend as a springboard for the argument that the NRA feeds on mass shootings worse than the gun control proponents. That’s not the case. Instead to see what is going on, look at another mass shooting: Charleston, SC.

After the Charleston incident, guns were attacked, but interestingly so was the flag for the Army of Northern Virginia — wrongly called the “Confederate flag”. Calls for banning it sounded off from all parts of the country. And paradoxically, this actually spurred on sales for items bearing the flag’s design. Why? It comes down to one simple concept: the people buying the stuff didn’t want to be told they couldn’t have it.

After Sandy Hook, many of those who bought firearms were first-time buyers. After Sandy Hook, there were massive calls for gun laws and gun bans. As I pointed out on this blog and elsewhere, many on the gun control left were also calling for blood — public executions of gun owners, bombing the NRA headquarters, beheading Wayne LaPierre and NRA executives, and so on. In response, guns were bought up by the truckload, and shelves cleared of ammunition. I called it “gun control without legislation“. And again, many were first-time buyers, people who previously had not considered buying a firearm, simply because they did not want to be told by anyone else that they could not own one.

So driving through the countryside gives you a renewed sense of the libertarian idea. And why in New Mexico, Gary Johnson was very popular. It’s amazing how kindly people respond to you when you stop trying to tell them how to live their lives. Isn’t about time we start doing the same with regard to firearms? Or are we going to be constantly of the idea that adults must always be treated like big children?

Desert Sapphire – Delivered

Build Log:

The project is now in the client’s hands. Let’s go over the last steps and the final details.

First, the PMP-420 was a no-go. I replaced it with a DDC pump that is still noisy, but not nearly as much as the PMP-420. I still want to figure out how to quiet the pump, so I will be in touch with the client about what to do for the noise. But given the client didn’t mention the pump while standing inches from the cabinet, I’m going to presume it’s not going to be an issue for him. If it is, then we can discuss it.

But again, let’s talk last steps. Last I left I said that I got far enough with the system that “it was time”. What I meant on that was tearing down Beta Orionis and stripping everything out of it. And I do mean everything. Alice decided to help. I actually didn’t know that a 7 month-old kitten could fit into the triple 5-1/4″ drive bays…

alice

alice2

alice_drivebays

Once everything was out of the case, and Alice gave her approval, I fetched the new power supply. Corsair RM-1000x. I selected this to give the client a very, very good power supply that was going to also be quiet. The pump itself was loud enough. The PSU didn’t need to contribute to it at all. I ran the cabling I knew would be necessary and then fetched the rest of the system from the blue case.

alice3

rm1000x

rm1000x2

x99

As you can see, I initially mounted the AIO in place along with the graphics card with its air cooler. Since I knew it wouldn’t take long, I wanted to wait before putting on the blocks till either there was nothing left to do, or my back was going to require it. Instead I turned my attention to flushing and mounting the radiators.

And the aluminum piece I mentioned earlier worked like a charm. Remember, though, how I said I had a longer strip of aluminum on order from Grainger? Yeah it didn’t arrive in time… So instead I had no choice but to stick with the piece of aluminum because of the looming delivery date. But it worked exactly as expected and, again, validated all my measurements and math.

cabinet

This gave me the chance to cut the rest of the tubing, validating the rest of my math and giving me a small loop I could leak test. While it was leak testing, I turned my attention to the second aluminum bracket and got it into place. With that, I turned my attention to the CPU and graphics card and tubing up the chassis.

cabinet2

Then it was a matter of cutting the tubing for the quick disconnects and connecting the computer system to its cooling system for a full leak test and some initial temperature testing with straight distilled water. The temperatures were quite phenomenal. Recall that there is an i7-5820k and a GTX 980 connected to 6x120mm of radiator capacity. This is the GPU temperature after Heaven had been running for at least 20 minutes. And no, I’m not making this up.

leaktest

temps

Unsurprisingly the CPU ran hotter when I had Folding@Home’s StressCPU utility running on all 12 threads, but still struggled to get even into the 40s. The temperatures were a little higher doing the final stress testing in my hotel room in the client’s home town, but not by much.

Retrospective

There are so many things about this project that could’ve gone better to allow more time for the build. For starters, once I discovered that there weren’t really any pre-built cabinet options, I should’ve started on the cabinet sooner. Had I done that, the rest of the system may not have been rushed and all of the planned items would likely have been accomplished. As in I was also looking at kitchen cabinet options at Home Depot seeing if there was something I could adapt instead of looking at the lumber section to see what materials I could meld into a cabinet…

What helped save time on the system, though, once I had dimensions in mind was going with the laminated panels from Home Depot. It saved money as well. So much so that I’m going to be using those panels to make a couple rack cabinets, including one that will replace the rack I built for the Colony West project. You build, you learn. Again, though, I should’ve started building the cabinet sooner than I did, though the delay with the USPS cost me a day as well.

But easily this shows that cooling a system in this fashion is doable, provided you’re willing to expend a little effort. If you can modify a pre-fab cabinet to mount the radiators, then that will probably be the better option. Or you can build something like I did here.

In hindsight, a more impressive demonstration would’ve been using the Zalman Z12 that’s been featured on this blog before. It has virtually no radiator capacity, so seeing that chassis connected up to the cabinet would show quite well that you don’t need a large fucking case to get good radiator capacity.

Instead all you need is just a little ingenuity and imagination.

Desert Sapphire – Part IV

Build Log:

So the build continues…

The day after Christmas, my wife and I drove out into Kansas to visit family. Given the weather forecast for the next day compared to the weather while we were driving back, I decided to run to Micro Center instead of going directly home. This was to pick up the SLI fitting plus a couple other things to finish the build.

When I got home, after unloading from Christmas, I took the SLI fitting and put it into place. This basically demonstrated conclusively that all of my measurements regarding the pump were spot in.

pump7

With almost every fit confirmed, the only other thing to do was glue and screw the cabinet together. The glue is Titebond No-Run No-Drip, which is perfect for end grain applications such as what I’m doing here, but requires that I leave everything for about 24 hours to cure. Since I was doing this on a Sunday afternoon, that would mean I couldn’t touch it till I got home from work the next day. Even though I also screwed the boards into the end, I decided to leave it all clamped overnight.

cabinet2

One thing I will say about this: nothing really prepares you for assembling it all together. When everything you’re seeing in your head or on paper actually meets the wood to demonstrate whether your idea has merit. So seeing this all come together seeing everything line up… it was such a relief to see it all work out.

Revisiting the pump

The noise level on the pump was not promising. The initial testing with the pump doing a 2-gallon push flush on the new radiator showed the noise to be concerning. I’m not sure if it was noise from air — wherein if I had it mounted in some fashion and let all air bleed the noise would’ve died away — or just the noise to expect from the pump.

I preemptively purchased a DDC pump from my local Micro Center — specifically the Swiftech MCP35X. They also had the MCP355, but I chose the MCP35X to hopefully retain fitting options. We’ll see if I will need it. I won’t know until I have at least the radiators mounted so I can do an isolated leak test on just those.

Swapping the pump isn’t out of the question — though it’ll be interesting given the cabinet is already prepared for the PMP-420. So if I can adapt for the noise, that’ll be great. Perhaps it’ll run quiet when the pump is mounted to the cabinet on vibration isolation with it pushing fluid for a while.

The power supply I was considering, however, will work just fine. It’s just a matter now of where to mount it.

Mounting and joining the radiators

You know the old saying of “measure twice, cut once”. Well sometimes it doesn’t keep you getting something wrong. In my case it was the holes in the table top for holding the radiator.

So after leaving the cabinet clamped and upside down all night, I took off the clamps…. and it promptly fell apart. Just kidding… I re-measured for the holes on the top and drilled and counter-sunk new holes. Then I mounted the bottom radiator and the top brackets.

cabinet3

One of the radiators would be hanging from the cabinet top directly above and — hopefully — directly lined up with the one mounted to the floor. The one in the middle would require a little ingenuity in the form of 1/8″ aluminum from Home Depot and a jigsaw. To figure out where to hang it, I needed to do a little math. Feel free to check this if you think it’s wrong. I based these numbers off the diagrams for the XS-PC bracket and AlphaCool radiator.

The AlphaCool radiator is 124mm wide, with a 9.5mm distance between the center of the fan screw and the edge. Hanging on the bracket gives a total radiator height of about 132mm for the top and bottom radiators, 264mm between. The third radiator is out in the open for another 124mm. This gives a total radiator width of 388mm. The gap between the top and bottom boards on the cabinet is 450mm.

This leaves a total space of 62mm around the middle radiator, or 31mm between the radiators. Adding 19mm to this means it will be 50mm between the screws. This is just shy of 2″. The widest piece of aluminum that Home Depot sells in any store near me is 2″.

But all is not lost. I ordered a couple pieces of 3″ wide 6061 aluminum from Grainger (item no. 2EYU9) for pickup… the day before we leave for delivery. In the mean time I can use the 2″x36″ aluminum I did buy to make a temporary solution for holding the radiator.

I cut a 2-1/2″ long piece of aluminum and drilled four 1/8″ holes that formed a rectangle about 2″ long and 15mm wide. Two of these should be enough to hold the center radiator and allow me to finish the loop.

bracket

My jigsaw is actually the MATRIX Jigsaw attachment from Black and Decker for the 20V MATRIX cordless drill. The blades are I used are Bosch T121AF3 jigsaw blades. This combination could make it through the 1/8″ aluminum. For drilling the holes, I used a 1/8″ cobalt drill bit. Make sure to keep your vacuum handy for the aluminum shards.

I wanted to get as far as I could before I had no choice but to take down Beta Orionis to get the other two radiators from that system. I mentioned in the first segment of the build log that the chassis for this build will be the Corsair 750D that I used for β Ori. I think what I failed to mention was that the other two double-120mm radiators, along with some of the fittings, would also be coming out of that build.

But first, I started laying some pipe in the cabinet. And the first run was mildly nerve-wracking since it, again, would tell me if I was spot-on with my measurements and mathematics. The first tubing ran from the cabinet’s inlet to the bottom radiator. It’s a straight run, straight line to the radiator from the bulkhead fitting. Or that’s how I measured it.

pipe1

pipe2

pipe3

And that’s how it turned out. About 14-1/2″. I love it when things come together like this. This also tells me that the line going from the top radiator back to the reservoir should work as I expect. The next piece of pipe was from the reservoir to the pump. Straight line again, but this one much shorter.

pipe4

By the way, one little trick about cutting PETG: use the same kind of cutters you would for soft tubing. You’ll get a very clean cut.

With this piece in place, it was time.

Desert Sapphire – Part III

Build Log:

Ah I love international orders…

package1

package2

gpublock

Thankfully everything in the box was unharmed. The only casualty was a corner of the thermal pad for the passive backplate. Not anything that’s concerning, though. The package from Performance-PCs came later in the week. That was the interesting one: fittings, pump, CPU block, tubing, fittings, fittings, and more fittings…

One thing I need to say about the pump: how in the hell is it capable of the specifications Koolance declares? And I mean that will all sincerity. If you look at the specification drawing, it’s about 47mm square. I was expecting this to be almost as large as a D5. 47mm, for those in the US who don’t want to pull out a calculator, is just under 2″. And no I didn’t look at the dimensions ahead of buying it.

On the plus side, it uses just 1.8A and runs off a 3-pin fan header, meaning it can be powered by the fan controller, if I decided to do that. The maximum flow rate is about 25% less than the D5 at max speed, but I bought this for the head pressure. So when the cabinet is built we’ll see how well it’ll perform.

Next step, though, was Home Depot to pick up some of their “random length” oak boards for making the cabinet.

Building the cabinet

I’ll have plans available toward the end of the build log for those who may want to build one of your own. The design here is for three double-120mm radiators on one side with everything else on the other and one side of the cabinet being bottomless to allow for airflow while the cabinet still looks like a cabinet.

As I mentioned, initially I thought about making it out of red oak, until I looked again at the price of it and decided to go with yellow pine, which cuts the cost of the cabinet in half. I bought two 18″x48″ laminated pine panels along with a 6′ length of 1″x3″ pine. Nominal width is 17.25″, which puts it a little wider than what I was aiming for. This would provide most of what I’d need to build the cabinet.

I started by ripping 18″ off one of the panels to give the 30″ long tabletop. The second panel was ripped in half to make two 24″x18″ pieces for the sides panels. This will allow for a 6″ clearance under the cabinet for airflow into the bottomless side of the cabinet. I’m sure my neighbors didn’t hugely appreciate the table saw (read a review of it here), but I can say that at least it’s not nearly as ear-piercing of a sound as my circular saw. And easier to clean up.

Though ripping the piece in half down to two approximate 24″ side panels required a little ingenuity, and a little cleanup of the cut afterward to ensure the boards were about as square as I could make them. The table saw has a maximum rip fence distance of only 18″, which was good for the first cut, but not so much for the second. Basically the clean-up involved clamping an adjustable T-square I bought at Harbor Freight at the right spot to guide my circular saw, then using an aluminum compound square from Home Depot for the little bit at the end the T-square blocked.

I initially thought of using dowels for this as well, but opted instead for #10 wood screws. To avoid problems, I wanted to also drill pilot holes in the end grain of the side panels, and #10 screws use a ⅛” pilot hole, the smallest size supported by my V-Drillguide. Through holes on the panels were 3/16″, which I would later discover is too skinny for the #10 screws to glide through cleanly. Not a problem as it means I can start the screws to line up and glue the panels before driving them home.

The holes are spaced every 3.5″. The downside was I didn’t have a self-centering dowel jig that could go down to 1/8″ — I don’t even think anyone makes one — so I had to improvise a little.

In cutting the bottom for the cabinet, I hit a little snag. I initially tried to cut a hole about 1″ in from the front and side and 3″ in from the back. Unfortunately in cutting out the hole using a jigsaw, I forgot to account for the weight of the board in the middle and when it got loose enough, it took out much of the side of the board. So instead of having a clean hole, I have a U. Oh well. It’ll still look good either way, and there will be plenty of support in the 3″ section for the radiators, especially since the radiators the radiators will be supported using brackets at the top and bottom.

cabinet1

So while waiting for the brackets to arrive from Performance-PCs, I tried to get the cabinet pieces to a point where all that would be left to drill were the holes for everything to be mounted. This also meant needing to figure out how and where to mount the pump and reservoir. My back made sure to complain later from being bent over the boards cutting and sanding.

Radiator brackets

Before finishing the cabinet, structurally at least, I needed to get the XS-PC brackets in hand and mounted to a radiator for a visual test for marking the screws. I surmised looking at the brackets that the screws would be best spaced about where the fan screws are, which would put them about 225mm apart, but as much as 240mm apart. The radiators themselves will be positioned such that the fans are centered on the “ledge”.

radtest1

To mount the brackets, I drilled holes for 1″ long #8 countersunk machine screws. I needed the holes on the cabinet top and bottom. Then I turned my attention to drilling the holes for the bulkhead fittings. Here is where things got a little interesting.

With how the bracket is positioned and using an AlphaCool 90-degree rotary fitting, the intake for the radiator measured to about 1.75″ from the back. Measuring using diagrams for the bracket and radiator puts the center of the fitting at about 1.5″ up from the bottom (1.54″ when converting mm to in, so close enough). So I measured and drilled the side panel for that.

Only there were a couple minor hitches I ran into. I initially tried to drill with a 3/4″ spade bit, thinking that would be wide enough. Not quite. If I knew that was going to be a concern, I would’ve picked up a set of spade bits from Home Depot or Harbor Freight since I only have a 1/2″, 3/4″, and 1″ spade bit — something I’ll likely do in the near future anyway.

But I did have step bits, one that went to 7/8″. That allowed for the bulkhead fitting to sit, but not completely the way I wanted. It was just barely long enough, so I needed to sink it. That’s where another step bit came in handy, drilling a 1″ sink around the outside, allowing the fitting to sit flush with with the side panel.

bulkhead1

The fitting’s position should allow the return line to go straight to the bottom radiator. Unfortunately I was not going to know until the cabinet is put together whether that is how it turned out.

With the bulkhead fitting set, though, I didn’t turn my attention to the second bulkhead fitting. Not immediately at least. I planned to place it immediately above the return fitting, though. But first I’d need to mount the pump and reservoir to know where it would go.

Knowing where the bulkhead fitting would sit made measuring for most of that significantly easier. I chose to line the reservoir up so it would be centered along the same line as the bulkhead fittings. It would just make it much easier and leave the pump as the only complication.

And my thanks to Koolance and Bitspower for accurate drawings on their website. And thanks to my primary and secondary school teachers for the math education I received. No joke on that either. Let me show you what I mean.

reservoir

I was able to determine from Bitspower’s website that the reservoir mount I’m using was designed to fit onto an 80mm fan mount. And when mounts are designed to fit onto a standard layout such as that, it always makes measuring layouts so much easier.

Koolance’s diagram of the pump and 90-degree fitting allowed me to determine how far off the center line I’d be mounting the pump: about 40mm from the center of the bulkhead to the center of the pump, and shy of 1/2″ from the bulkhead center to the center on the closest mounting screws.

To figure out where on the board I’d be mounting it, I needed to know some details about the two EK 45-degree fittings I’d be using to connect the pump to the reservoir. Except there wasn’t any documentation available showing any kind of dimensions on the fittings, a situation that EK should rectify since everyone else from what I’ve seen makes such diagrams available. The diagrams are invaluable when making a custom project like this one. So I had no choice but to eyeball it.

pump1

pump2

Once I had the pump mounted, I needed some ingenuity to figure out where to put the bulkhead fitting. Sure I could’ve just tried to line my square up under it, but I wanted to be a little more precise. From what I could gather, the pump top is about 18mm long, and the G1/4″ port appears to be middle-aligned, putting the center about 9mm in from the edge. This means that from the center of the lower screw hole to the center of the fitting port is about 46mm.

So I measured and drilled, following a procedure similar to what I did for the first bulkhead fitting.

bulkhead2

pump3

pump4

pump5

pump6

So it should be clear how this is going to run. The pump outlet is going right to the bulkhead fitting that will feed to the system. And the inlet to the box will go straight to the radiators. And the radiator will feed straight to the reservoir.

Unfortunately, though, this is much too close to make use of hard tubing fittings. So instead I’m going to use a Swiftech SLI fitting. I just need to get one from my local Micro Center when they’re next open.

The only question really still up in the air is how I’m going to power all of this. Current plan is to use a small FlexATX power supply I have laying around, provided it is quiet enough for the job. We’ll see when I flush the radiators and blocks later in the week. And I have an Add2PSU for synchronizing it with the main system, if I decide to do that.

But what you see above isn’t how the pump is going to be mounted in the final configuration, as I plan to use some 00 rubber washers for vibration isolation plus a couple 1/4″ nylon spacers. That should get the pump’s inlet lined up with the reservoir, and I’ll use PETG tubing as a short channel between them. But the 1″ screws I have are too short for that. And given a lot of this was all done on Christmas Eve night, I couldn’t just run to Home Depot to get the screws I needed. That will have to wait till Sunday after all of the Christmas festivities with mine and my wife’s families.

So until then, Merry Christmas.

Proposing an alternative

With Christmas and New Year’s around the corner, there’s something we all need to discuss. Proposals. Engagements. Casting your bachelorhood and bachelorettehood to the wind. Whatever you want to call it.

Do not propose on New Year’s or Christmas. It’s as cliche as proposing on Valentine’s Day or her birthday. And if your girlfriend is expecting you to propose on one of these days, then walk away. She values the idea of being engaged more than you and your relationship, or she values the ring more than you. If she breaks it off with you because you didn’t propose on Christmas, New Year’s, Valentine’s Day, or her birthday, it was for the best.

And when you do propose, do not go for the showy, public proposals either. I think you’re only setting yourself up for failure doing that as you won’t know if her “yes” is a genuine “yes” or one that was implicitly coerced from the public nature of the proposal. The eyes watching her in eager anticipation of whether she’ll say yes or not. And worse, the backlash that’ll come against her if she doesn’t.

Here’s how I proposed to my wife. In short, I didn’t. Not in what would be thought of as the traditional sense, that is. No ring. No elaborate setup. Nothing romantic about it. I just asked her. Completely out of the blue. We’d been together about a year at that point, but I was moving on with my life and wanted her to come along for the ride. That was a little over 10 years ago, as of when I write this, and we got married in December 2011.

My father was in the Navy when he proposed to my mother. By letter. That was in 1977.

By these standards, my father and I should be considered heartless people who have no idea what commitment actually means. Actually we both know what it means. It means we don’t need to use a ring with a huge diamond to wow a woman into marrying us. Instead we used the time preceding the proposal to wow them such that when we asked there was no need to worry about whether they’d say yes.

Yet all the time I see mentioned online how guys are going to propose to their significant others and they seem genuinely worried whether she will actually say yes. Which tells me there’s a major deficiency in the relationship, typically with regard to communication.

A friend on Facebook shared a video in which a guy was proposing to his girlfriend at, of all places, Times Square in New York City on New Year’s Eve. She instead runs away. One of my friend’s friends commented: “I would say she is really scared of commitment!” I didn’t agree:

I wouldn’t say she’s afraid of commitment, more like they weren’t on the same plane. But then I could never exactly understand why so many guys do the showy, very public marriage proposals…

My friend agreed:

Well, I can see that point. I think he should have hinted a little to her before he went all out. Definitely they were on two different wave lengths.

Basically before you propose, you should have already been talking about marriage and a future. You should already know before you propose that she has a high likelihood of saying yes. While the proposal itself might be “unexpected” in terms of timing, it shouldn’t be an event that catches her completely off guard.

If you feel you need to be wished “good luck” when proposing, don’t propose. If you feel you need to make the event around the proposal an elaborate display, a romantic dinner or huge getaway in an attempt to just wow her, then don’t propose. If you’re nervous about the possibility she might say No, don’t propose.

Don’t use an elaborate show to guilt her into saying yes. Don’t try for a public spectacle, such as Times Square at New Year’s Eve, to guilt her into saying yes. Don’t go for one of the cliche holidays or times of year either like the anniversary of your first date, or her birthday, or something like that. Your relationship should be unique enough and work well enough that you should be able to propose at any time of year without fearing she’ll say No. Which means you shouldn’t go along with the herd of guys who are going to propose to their girlfriends — likely in front of family and friends — at Christmas or New Year’s.

Instead just do what I did and ask out of the blue. If you feel your proposal needs to be a surprise, then don’t do the predictable, and don’t corner her either. Again, before the proposal even comes, both of you should be talking about a future with each other. If you’re not already doing that, don’t propose.

Revisiting due process and firearms

Perhaps my expectations are too high. I don’t think they are. Just as I would expect a programmer to understand the fundamental concepts of the languages they use, I would expect a lawyer to understand the fundamentals of law.

To this end, I would expect a practicing attorney to be knowledgeable of procedural due process. After all, due process applies both to civil and criminal litigation. So to encounter an attorney that gets the concept wrong just leaves me wondering.

Recently the governor of Connecticut, Dan Malloy, attempted to defend the use of the Federal government’s “no-fly list” as a “no-gun list”. I’ve been against this for the simple reason that no person is included on the “no-fly list” as a result of any kind of due process:

The biggest problem with excluding those on watch lists from being able to purchase firearms is the ability of the government to create lists indiscriminately, and add people to these lists with virtually no oversight.

If you actually value due process — which I’m convinced most people DON’T — then you’ll oppose this in its entirety.

I don’t say this lightly. I’ve written here before (here, here, here, here, and here) how many are willing to throw someone else’s due process rights under the bus. In the comments section to a Huffington Post article mentioning Malloy’s support, I said this:

The Fourteenth Amendment requires that before a person can be “deprived of… liberty”, they first must be subject to “due process of law”. “Due process” requires that the person being subjected to that due process be able to exercise their rights under the Fifth and Sixth Amendments, such as the right to convene a jury, call witnesses in his defense, cross-examine witnesses against him, and have an attorney to assist in that defense, and have all evidence against him examined by the jury to determine if the charges are proven beyond reasonable doubt.

Without the ability to exercise the Fifth and Sixth Amendment rights, the due process requirement is not met. So adding someone to an arbitrary government list, then using their inclusion to that list to deny that person their Second Amendment rights is also a violation of their Fourteenth Amendment rights and unconstitutional on its face. Period.

What I’ve outlined above is the essence of procedural due process. In short, before the government can enact any kind of deprivation of liberty against you, they must give you a chance to defend yourself. You have no such chance when it comes to these “no-fly” lists and other watch lists the Federal government has.

An attorney from Vermont replied:

Your legal analysis is not correct. Due process likely requires some process to challenge inclusion in the no-fly list, but not the determination that a person is, in fact, on the list. To be constitutional, the due process does not necessarily have to include all of the provisions you cite, which are those afforded people charged with crimes. There are existing provisions that allow people to challenge being placed on the no fly list. A challenge to that process is being litigated, but there is no final outcome to that case.

This isn’t accurate, but it’s not too far off. Instead the attorney has his words crossed. And unfortunately in my reply, I wasn’t entirely correct either, as I used the wrong term when describing a legitimate protection from the government. See if you can spot where I want wrong:

You have to be informed before you are added to the list that you may be added to the list. And you have to be given the opportunity to challenge that inclusion. In that challenge, the government must justify why you are to be included, and you must be given the opportunity to challenge that justification and appeal the result if it is not in your favor.

This is why we don’t put “alleged” child molesters on the sex offender registry. Conviction in a criminal court is required first.

What requires the “determination that a person is on the list” is the writ of habeas corpus. A person always has the right to challenge any action against them by the government — habeas corpus plus the First Amendment right to petition the government for a redress of grievances.

So if a person is on the “no-fly” list, they have the right to demand the government say why they are on the list — either directly or by way of the Court. And they have right to challenge being on the list, and the right to challenge before they are added to the list.

But…. that only comes into play if the list is being used to deprive liberties. And given we’re talking about this list being used to deprive Second Amendment rights, Due Process and habeas corpus *absolutely* come into play.

Habeas corpus. It’s all too easy to misuse legal terms. Instead what I was describing wasn’t the privilege of habeas corpus, but actually the protection against attainder.

From Article I, Section 9 of the Constitution: “No bill of attainder… shall be passed”. While this prohibition was directly on Congress, it by proxy limits the executive as well. A no-fly list cannot exist without congressional approval anyway. And for the Federal government to use them to deprive liberty is an attainder, a punishment without trial. And the right of due process first mentioned in the Fifth Amendment reinforces the ban mentioned in Article I, Section 9, while directly extending the prohibition to the Executive Branch.

No denial or deprivation of liberty may occur without due process of law. The Constitution is quite clear on that. Meaning the use of these lists of attainder, since they are already being used to limit someone’s liberties absent due process, to limit someone’s access to their Second Amendment rights clearly violates the Constitution.

Desert Sapphire – Part II

Build Log:

I mentioned in the previous segment that water cooling parts were on their way. The first order from Performance-PCs arrived the day after Thanksgiving — thank you FedEx for not screwing up this time.

The Performance-PCs order contained two radiators, two bulkhead fittings, and a collection of Koolance quick disconnects:

One of the items listed is the Koolance L-Bracket with two G¼ pass-through fittings. Provided the quick disconnects could fit, I intended to use this for the pass-through to avoid modding the case. I know I’ve said previously that fittings shouldn’t be ordered early in a build. This was a necessary exception as it would affect planning if this didn’t fit. Plus I knew I’d be using these specific quick disconnects, so there wasn’t any risk ordering these up front.

quickdisconnects

Thankfully it did fit, but really only just. The female side of the quick disconnects have 3/8″x1/2″ compression fittings. Would it have worked if the quick disconnects were the larger 1/2″x3/4″ compression fittings? That’s difficult to say. It certainly would’ve been a tighter fit.

I really wish that Koolance had a second version of this pass-through that didn’t have the DB-15 slot on it and had the G¼” fittings spread out a little more. I’d also like to see a low-profile version of this bracket similar to the one they make for the since-discontinued VL2 line of quick disconnects.

Note as well that I’m using off-colored fittings. And as you can see from the picture above, I’m using one chrome and one black quick disconnect. This is simply to ensure that everything stays coordinated for flow. The flow must go in a particular direction through the CPU block, so this helps ensure that the flow stays coordinated between the cooling box and the blocks.

Second order

The next payday saw another order to Performance PCs, again ordering what I knew I’d need.

Everything in the 750D will use soft tubing, while the water box will use PETG. I have quite a few PrimoChill revolver fittings, so this gives me an opportunity to use those up. Plus it’ll make the water box a little easier to maintain. If there’s any part of this build I want to be able to last a long time, it’s that. I’m considering ordering the ratcheting cutting tool that MNPCTech sells, but I hear that you can use a standard tubing cutter on PETG, so I’ll see how well that works first, and I have a hacksaw if need be.

The AlphaCool 90-degree fittings are new. I typically go with Swiftech or Koolance, but these were 2.50 USD less expensive than the Swiftech fittings, 3 USD less expensive than Koolance, so I decided to try them.

But as you can see, I opted for the PMP-420 from Koolance as the pump. Again I wanted something better than the D5 Vario. The question is noise. I’ll be using this to flush pumps and blocks, so I’ll be able to test it out. If the noise is a bit much, I can see about dampening it. And the Add2PSU is to synchronize the power supplies. The exact cabling I’ll be using to plug everything up is still up in the air, but given how some LP4 to P4 converter cables are wired, I’m heavily leaning toward using a P4 cable.

Otherwise the rest of that inventory is pretty self-explanatory. Really about all that’s left to order is the fans for the radiators — likely going with Cougar CF-V12HPB since I’ve had good luck with them already — and the FlexATX power supply for powering the water box. I have another FlexATX power supply I might re-use for this. I’ll just need to first test it to see how noisy it was, so I’ll likely use it as part of testing the pump for flushing components.

Thankfully the Aquacomputer block and backplate didn’t take too long getting over to the US. Still could’ve been faster, but it would’ve required paying double the shipping rate for UPS. I basically had about everything I’d need when I’d need it.

The beauty of all of this? I can install blocks and tube up the loop in a smaller case before moving it to the 750D, and I won’t have to change a thing when moving it. Whereas with a loop where everything is inside the chassis, you may need to cut new tubing, and you’d certainly need to consider compatibility with your radiators before buying.

The cabinet

The next step really is figuring out what I’m going to do for the cabinet and radiator configuration. I’ve been browsing around for cabinets to see what is available, what might be easily adapted. And more and more I’m leaning more toward building a custom cabinet for this instead of using something off the shelf. I’m having a little difficulty finding cabinets that will fit what I’m wanting to do.

So instead I’m going to buy oak or pine boards and build one. It’ll be 30″ long by 15″ deep, and about 24″ tall. The inside of the cabinet will be only 18″ tall, providing for 6″ beneath the cabinet. This will be good since the radiator side of the cabinet will actually be bottomless, well almost. The radiators will be all but completely exposed, allowing for the most airflow through the fans.

The doors to the cabinet will also be solid, hence why the radiator side needs to be bottomless. If the door is closed, there won’t be any airflow if the cabinet was a typical cabinet. However with a bottomless cabinet, the radiators will still be able to pull air through. And the cabinet door can always be opened to allow for even more airflow if necessary.

The fans will have a controller as well. The Phobya fan controller I previously used in Absinthe will be used here to allow the client to control the fan speeds when desirable. It’ll also serve as an immediate tachometer readout on the fans and pump as well. I forget whether it has an audible alarm, though.

Now in talking about “sides” to the cabinet, there will obviously be a dividing wall in the middle. Currently I’m planning to set it up so the left side of the cabinet has the fan controller and temperature readout for the coolant while the right side has the radiators, pump, and reservoir. The pump has a heatsink and being passively cooled by the fans moving air through to the radiators should suffice.

Otherwise, this is how the build currently looks in its temporary chassis:

testbuild

“I don’t believe you” vs “You’re lying”

If there’s one aspect of misinterpretation that really gets my goat, it’s this: “I don’t believe you” = “You’re lying!”

And it’s quite easy to see why this misinterpretation is made. Someone makes a statement and the person listening expresses skepticism, and the person making the statement interprets the skepticism as being accused of manufacturing details. I’ve come across this numerous, numerous times.

A little over a month ago, I had an exchange on Facebook regarding Martin Shkreli — yes, him. Shkreli had stated that he jacked the price on the toxoplasmosis medication Daraprim with the intent of spurring research into a new toxoplasmosis drug. He also acknowledged the price increase would cause another company to produce a generic. A click-bait headline stated that Shkreli was “fuming” when a San Diego pharmaceutical manufacturer did just that.

Going off Shkreli’s public statements, I said that Shkreli likely was not “fuming” with that development and that everyone “focused only on the new price” and basically ignored everything else he said. In response, a friend said, “He has no real intention of using profits to fund research, nor does he sincerely hope that his actions will motivate the development of safer treatments.”

My response was quite direct:

And when did you become a mind reader? Absent any other indications of his intentions, we can only go on his statements, which is also called giving him the benefit of the doubt. So if you have anything else you can point to that indicates his true intentions, then let’s have it. Otherwise, give him the benefit of the doubt and take his statements as his intentions, unless you’re not wanting others to give you the benefit of the doubt. And if you’re not willing to give him the benefit of the doubt, why should anyone else give it to you?

In response, a friend of that friend responded with “Sorry, know the guy, [friend] has it”. I challenged that statement:

You know [Shkreli] personally and have spoken with him about this particular move and his motivations behind it such that you can speak to his motivations? Sorry but I don’t believe you. But even if you did, you’d still be engaging in hearsay which makes any such statements untrustworthy. And saying you “know the guy” doesn’t mean what you say about his motivations on anything is correct, as a person you know can still surprise you.

When the friend of friend replied saying “Believe what you want – clearly you will”, I challenged further:

It’s not a matter of what I believe, [friend of friend], or what I want to believe. What I believe is immaterial. What you believe is immaterial. It’s a matter of what can be demonstrated to be true. And in some cases, we have little choice but to take a person’s statements prima facie — that is, assume them as true unless or until they can be shown to not be true. Why is this a concept so difficult for others to understand?

So unless you or someone else can *demonstrate* or has demonstrated his statements as false, then he is to be afforded the benefit of the doubt, regardless of whether you feel he deserves it or not.

Be skeptical all you want. There is nothing wrong with questioning someone’s motives or whether someone’s motives are genuine. But before you call someone a liar — which both you and [friend] are implying herein — you’d better be ready to demonstrate that they lied or otherwise hold your tongue. Otherwise, why should I hold mine?

If I still have you at this point, I’ll give you a quick demonstration of what I mean.

You’ll notice that above I did not call you a liar, implicitly or explicitly. I did not say or imply you knowingly and deliberately made a false statement in claiming you “know the guy”. For all I know, you just might. Or you may not. I have know way of proving the statement false, so I must assume it to be true — not accept it as true, only assume it is true.

That’s why I focused on whether you spoke to him specifically about his move regarding Daraprim.

The friend of friend’s responded saying they interpreted my statements as calling them a liar. My assumption is the friend of friend thought I should have just taken as fact unless I could disprove it their statement that they “know the guy” and, therefore, could speak to Shkreli’s intentions.

That’s not how things work. That isn’t just a shift in the burden of proof. It’s declaring that one should be able to manufacture statements and that no person can challenge them.

Expressing skepticism with regard to someone’s claim is quite different from stating the claim is false. If I say “I don’t believe you”, I mean just that: you haven’t convinced me your statement is true. If I say “You’re lying”, it means I can demonstrate your statement is false and I can demonstrate that you know your statement is false. Obviously, then, there’s an in-between.

To this extent, I have defended Anita Sarkeesian against accusations that she is a liar with regard to the content she has produced for her non-profit, Feminist Frequency:

Evidence shows Anita misrepresented herself and gained tremendous financial benefit from that misrepresentation, and I believe the evidence demonstrates beyond reasonable doubt that she committed fraud. She professed to be a gamer, but the level to which she played video games, or once played video games, is likely on the same level that someone who has built a computer could call themselves an “expert” at building computers.

But with regard to the content she has created, I think it’s a little bit of a stretch to say that Sarkeesian was lying, as that means she was being knowingly and intentionally dishonest with what she was presenting. The entire project stems from a fallacious starting point, though, in that she entered her research with a preconceived notion and bias, and she was looking for any evidence that could support her point. But a fallacious premise does not mean she was being knowingly and intentionally false with her statements. To say she was is a tough statement to prove.

Even with regard to Hitman and the video that Thunderf00t made on the scene in question, we can’t really know if Sarkeesian (or as proxy of her researchers or John McIntosh) is lying about the game. In all cases, however, Anita was certainly misrepresenting the games portrayed in her videos, with plenty taken out of context. Many have pointed this out. But it is not correct to call her a liar with her misrepresentations without also proving she knowingly misrepresented the games in question.

And I’ve gone further, in that one should not call someone a liar without maintaining context. Again, defending Anita Sarkeesian:

Context is what matters. We’ve all lied at some point, so would it be fair to hold the banner of “liar” over everyone’s head? No. Anita certainly misrepresented herself and gained financially from that misrepresentation. But with regard to her content, to say she was being knowingly and deliberately false in what she presented is a bit of a stretch. As such to call her a liar without limiting the statement to the context in which it can be proved she was knowingly and deliberately dishonest is not fair to Anita, just as it would not be fair to anyone else.

And again, this time responding to a video by Liana Kerzner:

You and I share the same definition on “liar” and “lying”. As I said in a couple comments in threads on your previous video, to me lying is being knowingly and intentionally false on statements being made. And I keep to that definition in part because I believe in always giving someone the benefit of doubt. Someone could be saying something that is demonstrably false only because they didn’t know.

But even then, I also feel that if you want to say someone is lying or is a liar, the context needs to be maintained. Everyone has lied at some point in their lives, I feel it is safe to say. But it is not fair to hold the banner of “liar” over everyone without also mentioning the context in which they lied, while also being able to demonstrate that they were being knowingly false in their statements. The latter is a tough standard to reach, and intentionally so. It isn’t fair to call someone a liar in any context unless you can show they were intentionally conveying information they know is false.

I believe whole-heartedly in giving everyone the benefit of doubt. It is why I’m a very staunch defender of due process. Sadly, I’m often a part of a very, very tiny minority when it comes to that.

Expressing skepticism toward a statement is not calling a person a liar. And generally when you make a statement with regard to someone else’s intentions — as opposed to your own intentions — you are making a material statement. Whenever you make a material statement, expect to be challenged, especially if you are making a statement with regard to someone else’s intentions.

Again, lying is a deliberate act. A person lies when they knowingly make a statement that is false. Along with lying comes fraud and perjury, both of which are treated as deliberate actions. You cannot “accidentally” commit fraud or perjury, just as you cannot “accidentally” lie. You can be mistaken with regard to a certain statement, due to being misinformed or making incorrect assumptions, but that is quite different from making statements you know to be false.

And unless you can demonstrate that statements someone made are false, and you can demonstrate that they knew or should have known those statements are false, you should not call someone a “liar”.

But again saying “I don’t believe you” is not and should not be interpreted as saying “You’re lying”. Lying means you know your statements are false and I can show it. “I don’t believe you” just means you need to try a little harder to convince me.

And if someone says to you “I don’t believe you” and you interpret that as “You’re lying”, then you believe whatever you say should be accepted as true regardless of whether it is true.

Desert Sapphire

Build Log:

The time has come to introduce another build project, this one being a client build. All of the primary hardware has been purchased and I’m just waiting on water cooling parts to arrive. This one is called Desert Sapphire. It’ll have a mostly blue theme and will be water cooled.

Mainboard: ASRock X99 Extreme4
CPU: Intel i7-5820k
RAM: 16GB EVGA DDR4-2800 SuperSC (4x4GB)
Storage: Samsung 850 EVO M.2 SSD
Graphics: EVGA GTX 980 SC ACX 2.0
OS: Windows 10 Home
Chassis: Corsair 750D

This is going to be a very high-end build, and it’ll be the first truly high-end system the client has ever owned, and he’s very excited about getting this system. Currently he’s running a second-generation Intel i3 with a Zotac GT620, so the difference here is like night and day. There’s also an interesting story behind this build.

The client had actually been out of work for a while but wasn’t really actively looking for work — he’s a younger man in his early 20s still living at home. So I proposed to him that I’d build him a system if he found a job and put up some of the cost. So he’s put up about half the cost of the system, and I’m absorbing the rest. The chassis is actually the 750D from β Ori. that will be available once I move that system into a 19″ rack.

And as I said, the system is going to be water cooled as well. Many of the parts have already been settled and/or ordered, at least on brands.

CPU block: EK Supremacy EVO
GPU block: Aquacomputer kryographics with passive backplate
Radiators: AlphaCool ST30, size to be determined
Pump: Koolance PMP-420 or PMP-500

This system will actually be externally water-cooled. There will be an inlet and outlet to the chassis that will be connected via Koolance quick disconnects, very similar to what I did for Colony West. The question that’s up in the air still is what to use to house the external water cooling setup.

And I’ve had a few ideas, all of which so far involve modifying something from off the shelf. The idea on that mark is I want it to look like a piece of furniture with the tubing and cabling going from the back of the computer to the box. I’ve looked at night stands and small cabinets mostly.

I’m doing this for a couple reasons. First, the client lives in Nevada — i.e. desert, hence the name. This means that there will be what some would consider over-kill radiator capacity. I’m currently planning on 6x120mm. The pump is also a little up in the air as I’m considering going with something more powerful than a D5 to ensure there won’t be any flow problems. On that I’m considering two pumps from Koolance: PMP-420 and PMP-500. I may end up going with a D5 in the end, simply but again flow is the primary concern.

The other reason I’m doing this is simply because I can. The client has voiced no objection to going that direction with the loop and trusts my judgment on this. But at the same time I’m wanting to demonstrate what I talked about in a segment of the β Ori. build log and that AntVenom demonstrated with his setup:

The box will contain the pump, reservoir, and radiators. Coolant will pass from the pump up to the system, through the blocks, then back out to the box where it will pass through the radiators and go back to the reservoir. The quick disconnects will be color coordinated to ensure that the flow goes in the right direction. There will be a small ATX power supply controlling the fans and pump that will be synchronized to the main power supply. More on that when I get there.

And here’s the best part: the cooling system is independent of the chassis. This means that the client could later add a second GTX 980 without affecting the radiator box. It’d affect only the main chassis, and not really all that much. Plus with all of the radiators external to the system, the radiators will have completely open airflow, meaning maximum cooling potential. The chassis could even be changed out later without having to worry about the radiators, and the radiators could be upgraded or additional ones added without worrying about the chassis.

Doing this provides for so much flexibility I’m surprised so few people are doing this. While there are some complications with going this route, they are relatively easy to overcome, provided you actually put some thinking into it.

The only part of owning a water cooled system that the setup would complicate is maintenance, but even then not really by much. It is something I’ll have to keep in mind when building the box, though, as the client will likely be the one maintaining this system unless I agree to go back out there about once a year. Aside from that, all he’d have to do is keep the fans and radiators cleared of dust.

That’s it for this part of the build log. Some of the water cooling parts have been ordered, but with Thanksgiving around the corner, it’ll be interesting to see when they arrive. The Aquacomputer block was also ordered direct from Aquacomputer in Germany, so hopefully it won’t take over a month to receive it. But if that happens, there will still be plenty to work on in the mean time.

Follow-up on Colony West

Build Log:

So the system has been up and running for about a week now, so it’s time for a follow-up on how the system is performing.

Temperatures

First I couldn’t be happier with the water cooling loop. The radiators have no problem keeping the GPUs cool. MilkyWay@Home tasks tended to produce the highest temperatures on the cards while air cooled, so seeing the temperatures in the low 30s C on water is just phenomenal. But that was with the fans running at full voltage.

So to quiet the system, I used the voltage step-down I already have (read about it here) to take the fans down to around 8 volts. When I plugged it in, I didn’t realize the voltage was set that low. But the temperatures only went up a few degrees, hovering around the mid 30s C. The fans are inaudible compared to the fans in the graphics host and graphics enclosure, which is odd considering the fans in both chassis are undervolted as well.

Either way, that is phenomenal performance. I’ll see what I can do about the other fan noise later. If it’s the power supplies in either instance, then there’s nothing I can do about it.

Stability

Along with temperatures, I also need to talk about stability. And that is where so far I’ve had some concerns. In short I think I need to revisit the water blocks. Not for cleaning, but to remount them, at least with regard to one of the GTX 660s.

For some reason one of the GTX 660s does not want to remain stable. The Xid error code thrown by the NVIDIA driver is 62, which is labeled as an “Internal micro-controller halt”. Three possible causes: hardware error/failure (unlikely), driver error (also unlikely), or thermal issues. This is what makes me think the block needs to be remounted.

Now if the temperatures on the GPUs are in the mid 30s, how can this be a thermal concern? Simple. It’s either the memory or VRMs that is the issue. I just hope I have enough thermal pad material to do that.

What’s odd is the driver crash would happen consistently after about 36 hours of continuous load. So I reconfigured BOINC to take a 15 minute “break” at midnight every day. This alleviated the driver concern, but it didn’t keep the issues completely at bay. So re-seating the water block is a necessity, meaning I get to test how well I could drain the system.

BOINC

Now for the real meat of the project: distributed computing performance.

Recall that there are four graphics cards: two GTX 680s and two GTX 660s. When the system remains stable, it’s able to clear over 100,000 points in a day.

Folding@Home

After clearing the 5000 ranking for MilkyWay@Home, I decided to turn the system over toward Folding@Home to see what kind of performance I could expect. Since this is a headless system, I needed to manually configure the client through the config.xml file. First, I used the –configure command-line option to set up a few basic options, then I manually edited the file to provide four slots, one for each graphics card.

<config>
  <user value='Colony_West'/>
  <team value='0'/>
  <passkey value='********************************'/>
  <smp value='true'/>
  <gpu value='true'/>

  <slot id='0' type='GPU'><gpus v='0' /></slot>
  <slot id='1' type='GPU'><gpus v='1' /></slot>
  <slot id='2' type='GPU'><gpus v='2' /></slot>
  <slot id='3' type='GPU'><gpus v='3' /></slot>
</config>

So how well does this perform? As of the time I wrote this, the client estimates it can clear 260k points per day, sometimes estimating over 270k points per day. Given published numbers I’ve seen for the GTX 680 and GTX 660, this likely means the GPUs are being held back a little by either the CPU or memory. The 660s should be able to pull between 100k and 115k PPD combined, while the GTX 680s should be able to net 210k to 225k PPD combined, meaning this setup should be able to pull almost 335k PPD, but 300k at minimum.

So the GPUs are being held back, likely by the fact this is a 10 year-old dual-core CPU that is being used. As the Folding@Home FAQ says, the GPU tasks are still heavily CPU dependent, though that’s something they aim to try to change later. But that means that even one of the GPUs is going to be held back by the current client.

So for now, Folding@Home is out. Perhaps when the AMD mainboard in either Absinthe or Beta Orionis are freed up will I try doing Folding@Home again. For now, Colony West will be doing just BOINC.