* Posts by FeRDNYC

86 posts • joined 8 Jun 2013


BOFH: Darn Windows 7. It's totally why we need a £1k graphics card for a business computer


Re: Canny director?

That's Luser Attitude Readjustment Tool — LART for short.


Re: Hint

The rich Corinthian leather makes them nosy.


Re: Keyboards

Almost every piece of M$-branded peripheral hardware is actually really well made. All the ones I've encountered, anyway. Their hardware group is definitely not their software group. (Though there's a lot of variation even among the software groups, really.)

They went down some wacky roads with the whole "Natural" keyboard thing, but even the most preposterous of those were well-constructed, stupidly-laid-out keyboards... and they still make variations on the split/vee models today, so "Some people like 'em, I guess."

BOFH: I'd like introduce you to a groovy little web log I call 'That's Boss'


Bigly funny.

BOFH: Trying to go after IT's budget again?


Re: PFY's Carbon Offset Business

Even more by killing them off before they get a chance to spawn. That also makes it way easier to claim a carbon credit for recycling their unmourned corpse. After all, we're going to have to face the environmental impact of cemeteries eventually. To quote George Carlin:


Isn't it time we stopped wasting valuable land on cemeteries? Talk about an idea whose time has passed. "Let's put all the dead people in boxes and keep them in one part of town." What kind of medieval bullshit is that? I say, plow those motherfuckers up and throw them away. Or melt them down. We need the phosphorus for farming. If we're going to recycle, let's get serious!


(Always true to his convictions, after Carlin died in 2008 his body was cremated and his ashes scattered.)


Re: PFY's Carbon Offset Business

For the love of God, Montresor!

...Oh, wait, you were proposing to kill them first. That's fine, then. Carry on!

BOFH: Judge us not by the size of our database, but the size of our augmented reality


Robot playing a power axe? Think I saw that at Coachella!

He was no Jimi Hendrix, but then again neither is Jimi Hendrix these days.

A History of (Computer) Violence: Wait. Before you whack it again, try caressing the mouse


Re: Does punching 'reset' count?

Yeah, it really wasn't that bad. Where things got ugly was installing stuff like Visual C++ from floppies, because with the MFC libraries and everything there were like TWENTY-SOMETHING of them!


Re: "Luca [was] dispatched to resolve the situation."

Dammit! Now I have Madonna stuck in my head.

...That may require some explanation. You see, my brain is either a clever DJ not afraid to wander outside his comfort zone, or a psychopath (#WhyNotBoth), because at some point in time the opening to that song ended up getting spliced seamlessly into "Papa Don't Preach", inside my head.

I have No. Idea. how the song goes past the first four lines, anymore, because in my brain this is the only way I can hear it:

My name is Luca,

I live on the second floor

I live upstairs from you,

Yes I think you've seen me before.

The one you told me all about,

The one you said I could do without,

We're in an awful mess

And I don't mean maybe! Please...

etc, etc.


Re: Percussive maintenance

a cruddy Beowulf cluster

Now there's a name I've not heard in a long, long time. A long time.


Re: Whacksing benefits

I'm going to guess it's somewhere vaguely around the age of my own Brother (MFC-5460CN, purchased in like 2007), which is ostensibly in the same situation. The only downloadable driver packages for my (Fedora) installation are mfc5460cnlpr-1.0.1-1.i386.rpm and mfc5460cncupswrapper-1.0.1-1.i386.rpm. However, it's not really all that big a deal, because as it turns out...

1. The scanner utilities are available as 64-bit packages, for some reason

2. The printer binaries aren't linked with any 32-bit libraries other than glibc

3. For at least some of the printer tools, source is available (yay GPL!), so it's possible to compile your own 64-bit binaries.

I ended up having to patch /usr/bin/brprintconf_mfc5460cn to correct an issue (the media_command string length was only 100 characters, which was too short for complex configuration), so I went to Brother's site and downloaded the ink3_GPL_src_101-1.tar.gz source (which matches my printer generation, ink2 was for even-older, ink4 for slightly less ancient... you get the drill), patched it to change 'char media_command[100];' to 'char media_command[500];', compiled it, and now I have a 64-bit /usr/bin/brprintconf_mfc5460cn that doesn't crash when I choose too many options in the printer configs.

I do sort of want to replace the printer (which is so past-it that the yellow ink line is irreparably clogged, meaing I can only use it to print grayscale), but I use it more as a scanner than a printer these days, it's still a better-than-average network scanner, and replacing it would mean having to deal with new drivers, new utils, new ink supplies to purchase, etc.

So... meh. One day it'll actually die on me for real, and then I'll probably replace it. I mean, hopefully when it does die, it's because the scanner lamp craps out or something, at which point my hand will be forced. Because if there's any way I can keep it shambling along in some sort of half-alive zombie form, history has shown that I absolutely will.


I'm not even sure drives at that time had auto-parking heads, TBH.


Re: The tine of a forklift wielded like a scalpel

Any mention of a forklift requires this obligatory link, courtesy of El Reg commenter allthecoolshortnamesweretaken, whose original 2016 comment I shall simply quote verbatim:

Everything you never wanted to know about about operating a forklift and couldn't be bothered to ask.

It starts like the usual work instruction/safety regulations training video... and turns into something very much like the "Salad Days" sketch from Monty Python's Flying Circus. Don't mind that it's in German, you'll get it without the dialogue.


Re: The tine of a forklift wielded like a scalpel

They thought it was a Phalanx XR-12 computer. They only take triangular disks.


Re: The tine of a forklift wielded like a scalpel


BOFH: What's the Gnasher? Why, it's our heavy-duty macerator sewage pump


That's OS/2 Warp! Remember, it's only half an OS.


Could be worse

There was a story, a surprisingly few years back, about a housing complex in I think Boston, and the troubles they were having keeping their HVAC system operational. Turns out it was all controlled by custom software running on an Amiga A500. Good luck replacing that!

BOFH: Oh, go on, let's flush all that legacy tech down the toilet


"You didn't pay for toilet use. Obviously it means an ongoing revenue stream..."

Very droll.

TBH I'm impressed. That counts as subtle for the BOFH, who's usually about as subtle as a clue-by-four to the side of the skull.

BOFH: What's Near Field Implementation? Oh, you'll see. Turn left here


Re: " wine has no affect on "

I mean... the quote's correct, as far as it goes. Wine has no affect, period! It's not a person. Wine can't express emotions. (Just cause them! It's great at that.)

BOFH: Bye desktop, bye desk. Hello 'slab and a beanbag on the floor


Re: I dunno

Is radon still a thing? ISTR back in the day we were all deathly afraid of radon outgassing in our building foundations and whatnot, irradiating us full of all the fabulously deadly cancers it would bring. Pretty sure we were all supposed to have expired from all the radon turning each of our bodies into nothing but one giant tumor mass, in fact. We still scared of radon?

BOFH: State of a job, eh? Roll the Endless Requests for Further Information protocol


The System is real

The worst part of this New-Fangled World of Tomorrow we live in is that computers really can be imposed between users and the support staff ostensibly there to help them.

My cable company even introduced an automated "Stupid Luser Tricks" system on their phone-support line a few years back. Now if you call in to report that you can't access the Internet, instead of getting a tech at all, you get connected to a phonebot that (a) talks you through the steps of resetting your cable modem (in the laborious detail typical of interfaces designed for the lowest common denominator), and (b) actually checks that you're following along with every tedious step. So when it says "unplug your modem", your modem had damn well better power down, because if the system's able to reach it after you said it was unplugged, you're in for a whole world of "Hmmm, something doesn't seem right. Let's start over..." pain.

As much as this frustrates me personally (as a technically-minded customer), in theory it could be a good thing. A lot of support's time really is taken up solving "problems" that only require them saying, "Have you tried turning it off and on again?" Eliminating that tedium could mean that they're more available to focus on handling real issues. Or, it would, if the introduction of automated level 1 support didn't always coincide with a reduction in human support staff. So the few who remain are just as overworked, except now all of their time is spend handling only two types of issues: Real problems that can't be solved with a simple power cycle / reset, and new problems created by the automated idiot-support system.


Re: Missing item

Sorry! That's usually me. I'm of the opinion that necromancy is always better than starting a new issue over from scratch and having to cover the same ground over again (assuming the previous history is still relevant), but wow is there some disagreement on that point.

Python creator Guido van Rossum sys.exit()s as language overlord


Re: Re introducing ":="

Two-digit years wasn't so much about typing as it was about data storage, back in a time when saving two bytes per date seemed like real economy. If it was just about typing, they could've allowed operators to type a two-digit year, but stored it as 19xx, in which case Y2K would've been a snooze. (The same way UNIX has always stored dates as integers — seconds since the epoch — for efficiency, and therefore UNIX/Linux were largely immune to the Y2K bug, at least in terms of system code.)

Pascal did indeed use ':=' for assignment (and '=' for equality test), whereas C went with '=' and '=='. Which probably was about typing laziness regarding the shifted character.

(Or possibly internationalization — did the ':' character appear on all early keyboard layouts? Does it appear on all of them now, for that matter? Obviously it's already required if you want to write Python code, so it's not an issue using it for ':='.)


Re: Is this equivalent to the following, widely recognised as horrible in any C-like?

And, in fact, PEP 572 isn't JUST about list comprehensions. It adds in-expression assignment generally, a very common language pattern which Python previously lacked. So, while these two expressions are equivalent:

foreach my $x (@input_data) { # Perl

for x in input_data: # Python

other common in-loop assignments such as (again, Perl):

while (my $x = $parser->get_token()) {



had no direct syntactic Python equivalent. But with PEP 572, this can now be written in Python as:

while x := parser.get_token():


In-expression assignments like that are generally a common pattern. They can be abused, of course. But C is the king of "enough rope to hang yourself" so a feature being open to abuse isn't an argument against the feature. It's against abusing it.

(And I would argue that the list comprehension form does not count as abuse. There's a reason they went with := instead of =, and it was to avoid exactly the type of horrible C code you mentioned.)

Because while

if (a = f(b)) {

is absolutely horrible C due to its "hidden" assignment, if the syntax were

if (a := f(b)) {

that would be far less problematic, because it's clearly different from a == test for equality.


Re: Is this equivalent to the following, widely recognised as horrible in any C-like?

Soooooorta, but you're also inside a for loop (which is what a list comprehension is, an expression evaluated for every member of a given list), so there's also a sense in which it's a shorthand for (in Perl):

foreach my $x ( @input_data ) {

my $y = f($x);

push(@output_data, [$x, $y, $x/$y]) if ($y > 0);


Yes, the assignment is inside the if statement, but that's because you've already compressed the for loop into a one-line comprehension and there's really no way to locate it anywhere else. The point is to call f(x) only ONCE, assign it to y, and then output the tuple iff y > 0;


Re: Reinventing a more limited wheel

Nested list comprehensions are hard to comprehend

I'm impressed how you seemingly managed to say that without a trace of irony.


Re: This happened to Perl too...

...I don't want to find that joke baked from low-hanging fruit funny ("Hey, this guy is finding humor in the common perception that Perl syntax is hard to read, do they have a Nobel Prize for Humor yet?") ... ... ... but dammit, it IS funny.

There's More Than One Way To Earn An Upvote.


Re: Reinventing a more limited wheel

The new syntax is not only using fewer characters, it's far clearer about what's actually going on than your example. Yes, you have to wrap your brain around the := operator, but that's just syntax and syntax is trivial. But when you compare your version:

[(x, y, x/y) for x, y in ((x, f(x)) for x in input_data) if y > 0]

vs. the PEP 572 version:

results = [(x, y, x/y) for x in input_data if (y := f(x)) > 0]

The fact that there will be a result for every item in the input_data list and that y = f(x) in the output are both made far clearer and more obvious in the latter form.


Re: Futuristic progression of Programming Languages?

You forgot OSes, they suck too. And worse, you forgot fanbois, who suck in all kinds of spectacular ways.

Yes, well, the value of pointing out that all hardware, software, and OSes suck is to remind us to focus on an individual example's positives, rather than its negatives, because they all have negatives.

There are no redeeming positives to fanbois, though, so there's less value in noting that they all suck, even though they most certainly do. They suck not only individually but collectively, and they should be dismissed in the same manner: Begone, all ye fanbois!

BOFH: But I did log in to the portal, Dave


This is why you want to at least deal with local vendors

Cross-country murder is a lot harder, and in the US turns it into a Federal crime.

Back at the very tail end of the 20th Century, I had a home DSL line (I knooowwwww!) at my apartment in Boston, with service through an ISP located in California. They resold service from one company (AT&T), installed by a second (Covad), and so FlashCom's #ONEJOB was basically to just collect my monthly payments in return for doing exactly nothing. It should've been TWO jobs, the second being to keep my service active. And therein lies my mistake.

After a few months of relatively trouble-free access to the new-fangled Information Superhighway, some sort of physical calamity befell my line that took it out of service. It's ancient physical copper wiring in an old, old city, these things just happen. Unfortunately, though, getting a company clear across the country to service your telephone line is not the easiest thing. And, I couldn't call AT&T because they wanted nothing to do with me: I wasn't their customer, FlashCom was. So, I waited.

It eventually came to pass that a service tech had been dispatched, and determined that the line was dead. (Gee, thanks.) Furthermore, he determined that it was the last unused pair of copper wires in the trunk, there were no more available, and so they were very sorry, but there was nothing they could do about restoring my service. (Because that line only carried DSL, and no analog telephone service, it wasn't subject to the regulations that would've required them to sort out the problem, no matter what they had to do — even if it meant digging up the street and running an entirely new trunk to our building. This is why regulation is a good thing, folks.)

Now, mind you, it's taken the better part of five weeks to make this determination, with my line down the entire time. Then the other shoe dropped.

Turns out, FlashCom had been continuing to bill me for the entire five weeks that my line was down and I was not, in fact, receiving any of the "service" I was paying them for! Naturally, when I discovered this, I immediately stormed off to their website (yes, it is possible to "storm" to a virtual location, as I learned that day) to cancel my non-service. I mean, after all, they were a modern dot-com company, with a customer account portal and everything!

A customer account portal which promptly crashed every time I attempted to submit the cancellation form.

After trying three times, and now completely livid, I practically broke the buttons off my phone pounding their phone number in, to speak to their billing department in person. This involved subjecting myself to the same four-song hold music loop I had already become intimately familiar with, over the preceding five weeks, but this time I don't think I even heard it.

To make an already-long story slightly less long, the tale ends with me SCREAMING, completely unhinged at what sounded like a tiny 70-year-old woman in their billing department (because screw her, she knew the risks), after she suggested that I log in to their customer portal and cancel the account myself.

Seriously, I was so belligerent she had to hang up on me. And to her credit, when I called back a few minutes later, slightly less rabid, she did finally process my cancellation and release me from the hell that was FlashCom. Which promptly went out of business some time within the next two months.

BOFH: Guys? Guys? We need blockchain... can you install blockchain?


Re: The value of IoT- Everything is divisible by 0

It's been a squirrely problem since 1985, when the first IEEE 754 Standard for Floating-Point Arithmetic was released, as it was designed around the requirement that every operation have a well-defined result. (Prior to IEEE 754 invalid calculations, including dividing by zero, would simply result in a program crash and for the most part everyone was fine with that.)

Since the IEEE improved everyone's lives, to quote Wikipedia on divsion by zero:

The standard supports signed zero, as well as infinity and NaN (not a number). There are two zeroes: +0 (positive zero) and −0 (negative zero) and this removes any ambiguity when dividing. In IEEE 754 arithmetic, a ÷ +0 is positive infinity when a is positive, negative infinity when a is negative, and NaN when a = ±0. The infinity signs change when dividing by −0 instead.


Most calculators will either return an error or state that 1/0 is undefined; however, some TI and HP graphing calculators will evaluate (1/0)² to ∞.

Microsoft Math and Mathematica return ComplexInfinity for 1/0. Maple and SageMath return an error message for 1/0, and infinity for 1/0.0 (0.0 tells these systems to use floating point arithmetic instead of algebraic arithmetic).


Re: Sorry IT guys you aren't unique in this

Oh, trust me, nobody in IT believes they've invented the corporate fad. At plenty of companies, the management-style-du-jour roller coaster was fucking things up for the entire corporate drone population long before the endless revolving door of educational fads or IT trends swooped in to make knowledge workers' lives more "interesting". Plenty of that crap's been in heavy rotation since the 1980s, if not longer.

The thing that sets IT trends apart, though, is that they have this tendency to captivate non- IT people. Because IT is everywhere and every company makes use of IT, scenes like the one in this episode are all too common. Some management type catches wind of a new shiny that the company absolutely must be doing, despite not actually having the first clue what it even IS. I mean, that stuff's for the nerds to sort out, right?

You don't really get much of that, outside of IT. Management styles and trends mostly infect management, and while the workers are definitely the ones who suffer at least whatever nonsense they're enduring is being implemented at the right levels. And whatever educational initiative is in vogue this week, at least you know the people dabbling in it are educators, or involved in the educational system to some degree. You're not going to see the manager of a coffee shop stroll in some morning and announce that they're going to be implementing Mindfulness. Employees at the nearest big-box electronics store aren't likely to receive memos detailing the TV department's new Brain Gyms initiative.

In IT things like that happen all the time, even within companies that aren't remotely in the IT business. Here in the US recently, a beverage company decided (while in the death throes of failing as a beverage company) that they were going to radically reinvent the company to save it. They changed their name to something absurd involving (you guessed it) blockchain, and then promptly still folded because oddly enough a beverage company isn't well-positioned to make the transition into the exciting world of blockchain. (Plus, I wouldn't be surprised if the one person on staff with any sort of technical know-how resigned on the spot the moment they got wind of that idiot plan.)


Re: Published at 08:36

Pity us poor Americans — it's only 8:45am now on the east coast, and the other side of the country is still fast asleep.


Re: Unfortunately he hits the nail on the head again.

I'll never forget one particular CIO (because we loved TLAs at that company)


"TFW one particular CIO (because TLAs were AOK at that LLC)..."

FTFY. ...Shit!

BOFH: Give me a lever long enough and a fool, I mean a fulcrum and ....


Truly, many enjoyments were on-mirthed in the readification of Simon's maximally recental authoring.

BOFH: Turn your server rack hotspot to a server rack notspot


Re: Quiet beers?

I think it's me who's bitter, not my beers.


Re: Chekhov's PDU

Although, does it still count as an application of Checkov's if the characters actually discuss the gun and its firing? I thought his rule was all about implicit foreshadowing?


Re: new keyboard alert !

"I think Simon sees himself more as Lucifer Morningstar (like the TV series), bringing people their just deserts"

10 billion points* and a round of drinks for properly spelling it "deserts", though. Cheers!

* – (Cash equivalent value: €0.0005)


Re: When your vendor provides

So... Biblically, then?


Quiet beers?

Oh, quiet beers sound absolutely lovely. Mine are always so freakin' loud, and they just will NOT shut up! "You're a failure!" "You'll never amount to anything!" "You paid $100,000 for a degree you'll never use!" SHUT UP BEERS! I could get a boyfriend, if I wanted that kind of helpful input.

BOFH: Honourable misconduct


Re: half eaten chicken kebab!

Either that, or more practice at meat eating. ...Nah, let's go with the beer one. (More meat for me!)


But why?

I find myself left with one burning question: Why is the Bastard doing this?

He's going to some pretty great lengths to, ultimately, protect the PFY from himself. Which feels a bit out-of-character for someone whose primary motivation is usually personal gain — whether it be in terms of financial benefit, reduced workload, or even just TEH LULZ.

I can't get a read on the motivation here, though. It could be a further sign that he's getting soft in his middle age, and genuinely wants to help his employee (even if he'd never admit to that reason). Then again, perhaps the PFY has some leverage against Simon that would make preserving his job a typically selfish act. Or, I suppose it could simply be that it's a chance to fuck with the standard-issue cast of company stuffed suits, something a BOFH generally seems to view as its own reward.

BOFH: The trouble with, er, windows installs


Re: Over reliance on Windows...

As long as they open, period! Non-openable windows are the BOFH's greatest challenge. The sort of person who designs buildings with those is liable to suffer a catastrophic database normalization error in their own home.


I can see a new Facilities trend...

"It's a very nice office space, good parking, but does it have first order normal windows?"

BOFH: But soft, what light through yonder window breaks?


Re: Draw full of random keys

You were pedanting, and overlooked "could of"? (It's "could have", or the contracted form "could've".)

Tsk. How quickly can we get a sales guy in to talk about some pedant upgrades?


In the comments on a story about defenestration? C'mon, people. This so-called "Adam Payne" is a transparent alias!

Yours Cordially,

George Glass

BOFH: Come on, PFY, let's pick a Boss


Re: Filling a seat

Man, I hated having to hire, always tried to keep the clan happy so they wouldn't quit and force me into interview mode.

How did you draw the line between clan-appeasement, and keeping terrible people around just to avoid the interview process? That sounds like quite the tightrope act!


I wonder if Simon has stolen the PFY's boots

Has stolen Stephen's boots, right? Or David's. But I think "Stephen" sounds spottier.


Re: Explains a lot

Sounds to me like you're the Boss, wondering what the Director does! Don't sit in any chairs with kickable backs.

BOFH: Oh go on. Strap me to your Hell Desk, PFY


I have a computer cart in my spare room...

I say cart because as far as I'm concerned the thing's too narrow to be considered a desk, so it's a cart. Found its way to me free from someone who had no use for it. Now I have no use for it, but I do have the space so I hang on to it anyway.

It's single-person width, large primary surface, full-width (and full-depth, surprisingly) slide-out keyboard shelf fixed below, couple of shallower shelves mounted far above and below the main surface, and all of it fixed to these two vertical side pillars on wheels.

The pillars are there because the thing's height-adjustable, using these two knobs below the main surface, one on each pillar, that crank the desk upwards or downwards when you turn them both frontwards or backwards at the same time.

It's a nice idea, but the problem is that you can only adjust the height of the "desk" surface when there's no weight on the "desk" surface, and there can't really be anything on the shelf below the desk surface or you won't be able to get to the knobs. So, apparently they expected anyone using this cart as a "desk" to completely remove everything from it, whenever they wanted to adjust the height.

Life's too short for that sort of nonsense. So, now it sits, piled with spare-parts boxes, construction materials, and miscellaneous crap, making itself minimally useful to my life.



Biting the hand that feeds IT © 1998–2020