Wandering Thoughts archives

2016-07-29

My surprise problem with considering a new PC: actually building it

Earlier this week I had a real scare with my home machine, where I woke up to find it shut off and staying that way (amidst a distinct odor of burnt electronics). Fortunately this turned out not to be a dead power supply or motherboard but instead a near miss where a power connector had shorted out dramatically; once I got that dealt with, the machine powered on and hasn't had problems since. Still, it got me thinking.

Unlike many people, I don't have a collection of laptops, secondary machines, and older hardware that I can press into service in an emergency; my current home machine is pretty much it. And it's coming up on five years old. On the one hand, I already decided I didn't really want to replace it just now (and also); while I had some upgrade thoughts, they're much more modest. On the other hand, all of a sudden I would like to have a real, viable alternative if my home machine suffers another hardware failure, and buying a new current machine no longer feels quite so crazy in light of this.

So I've been thinking a bit about getting a new PC, which has opened up the surprising issue of where I'd get it from. I'm never been someone to buy stock pre-built machines (whether from big vendors like Dell or just the white box builds from small stores), but at the same time I've never built a machine myself; all of my previous machines have been assembled from a parts list by local PC stores. Local PC stores which seem to have now all evaporated, rather to my surprise.

(There used to be a whole collection of little PC stores around the university that sold parts and put machines together. Over the past few years they seem to have all quietly closed up shop, or at least relocated to somewhere else. I suspect that one reason is that probably a lot fewer students are buying desktops these days.)

One logical solution is to take a deep breath and just assemble the machine myself. I know (or at least read) plenty of people who do this and don't particularly have problems; in fact I'm probably unusual in being into computers yet never having done this rite of passage myself. I've also heard that modern PCs are really fairly easy for the hobbyist to assemble (especially if you stay away from things like liquid cooling). However, I don't really like dealing with hardware all that much, plus you don't get to restore hardware from backups if you screw it up. Spending a few hours nervously screwing things together is not really my idea of fun.

(And having someone else sell me a preassembled machine means that they're on the hook for dealing with any DOA parts, however unlikely that may be with modern hardware.)

There are probably still places around Toronto that do built to order PCs like this. But 'around Toronto' is a big area, plus another advantage of dealing with stores around the university was that we could tap local expertise to find out who did a good job of it and who you kind of wanted to avoid.

If I was in the US, another option would be to order a prebuilt machine from a company that specializes in Linux hardware and has something with suitable specifications. I'm not particularly attached to having fine control over the parts list; I just want a good quality machine that will run Linux well and has enough drive bays. I'm not sure there's anyone doing this in Canada, though, and I certainly don't want to ship across the border. (Just shipping within Canada is enough of a hassle.)

Although part of me wants to take the plunge into assembling my own machine from parts, what I'm probably going to do to start with is ask around the university to see if people have places they like for this sort of thing. My impression is that custom built PCs are much less popular than they used to be (my co-workers just got Dell desktops in our most recent sysadmin hardware refresh, for example), but I'm sure that people still buy some. If I'm lucky, there's still a good local store that does this and I can move on to thinking about what collection of hardware I'd want.

(Of course thinking about a new machine makes me irritated about ECC, which I'll probably have to live without.)

PCBuildingProblem written at 01:00:13; Add Comment

2016-07-24

My view on people who are assholes on the Internet

A long time ago, I hung around Usenet in various places. One of the things that certain Usenet groups featured was what we would today call trolls; people who were deliberately nasty and obnoxious. Sometimes they were nasty in their own newsgroups; sometimes they took gleeful joy in going out to troll other newsgroups full of innocents. Back in those days there were also sometimes gatherings of Usenet people so you could get to meet and know your fellow posters. One of the consistent themes that came out of these meetups was reports of 'oh, you know that guy? he's actually really nice and quiet in person, nothing like his persona on the net'. And in general, one of the things that some of these people said when they were called on their behavior was that they were just playing an asshole on Usenet; they weren't a real asshole, honest.

Back in those days I was younger and more foolish, and so I often at least partially bought into these excuses and reports. These days I have changed my views. Here, let me summarize them:

Even if you're only playing an asshole on the net, you're still an asshole.

It's simple. 'Playing an asshole on the net' requires being an asshole to people on the net, which is 'being an asshole' even if you're selective about it. Being a selective asshole, someone who's nasty to some people and nice to others, doesn't somehow magically make you not an asshole, although it may make you more pleasant for some people to deal with (and means that they can close their eyes to your behavior in other venues). It's certainly nicer to be an asshole only some of the time than all of the time, but it's even better if you're not an asshole at all.

This is not a new idea, of course. It's long been said that the true measure of someone's character is how they deal with people like waitresses and cashiers; if they're nasty to those people, they've got a streak of nastiness inside that may come out in other times and places. The Internet just provides another venue for that sort of thing.

In general, it's long since past time that we stopped pretending that people on the Internet aren't real people. What happens on the net is real to the people that it happens to, and nasty words hurt even if one can mostly brush off a certain amount of nasty words from strangers.

(See also, which is relevant to shoving nastiness in front of people on the grounds that they were in 'public'.)

InternetAssholes written at 00:03:35; Add Comment

2016-07-17

DNS resolution cannot be segmented (and what I mean by that)

Many protocols involve some sort of namespace for resources. For example, in DNS this is names to be resolved and in HTTP, this is URLs (and distinct hosts). One of the questions you can ask about such protocols is this:

When a request enters a particular part of the namespace, can handling it ever require the server to go back outside that part of the namespace?

If the answer is 'no, handling the request can never escape', let's say that the protocol can be segmented. You can divide the namespace up into segments, have different segments handled by a different servers, and each server only ever deals with its own area; it will never have to reach over to part of the namespace that's really handled by another server.

General DNS resolution for clients cannot be segmented this way, even if you only consider the answers that have to be returned to clients and ignore NS records and associated issues. The culprit is CNAME records, which both jump to arbitrary bits of the DNS namespace and force that information to be returned to clients. In a way, CNAME records act similarly to symlinks in Unix filesystems. The overall Unix filesystem is normally segmented (for example at mount points), but symlinks escape that; they mean that looking at /a/b/c/d can actually wind up in /x/y/z.

(NS records can force outside lookups but they don't have to be returned to clients, so you can sort of pretend that their information doesn't exist.)

Contrasting DNS with HTTP is interesting here. HTTP has redirects, which are its equivalent of CNAMEs and symlinks, but it still can be segmented because it explicitly pushes responsibility for handling the jump between segments all the way back to the original client. It's as if resolving DNS servers just returned the CNAME and left it up to client libraries to issue a new DNS request for information on the CNAME's destination.

(HTTP servers can opt to handle some redirects internally, but even then there are HTTP redirects which must be handled by the client. Clients don't ever get to slack on this, which means that servers can count on clients supporting redirects. Well, usually.)

I think this protocol design decision makes sense for DNS, especially at the time that DNS was created, but I'm not going to try to justify it here.

DNSResolutionIsNotSegmented written at 01:03:58; Add Comment

By day for July 2016: 17 24 29; before July.

Page tools: See As Normal.
Search:
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.