Archive for the ‘work’ Category

One step closer to my own robot army…

  • Councillor Hamann: Have you ever been to the engineering level? I love to walk there at night, it’s quite amazing. Would you like to see it?
  • Neo: Sure.
  • Councillor Hamann: Almost no one comes down here, unless, of course, there’s a problem. That’s how it is with people – nobody cares how it works as long as it works. I like it down here. I like to be reminded this city survives because of these machines. … Of course… that’s it. You hit it! That’s control, isn’t it? If we wanted, we could smash them to bits. Although if we did, we’d have to consider what would happen to our lights, our heat, our air. … There is so much in this world that I do not understand. See that machine? It has something to do with recycling our water supply. I have absolutely no idea how it works.

Beering after work yesterday, someone mentioned the guts of an oldie-but-goodie Ozo router (company no longer exists) sitting in the lab, and how nice it would be to get this up and running again. (For our propellerheads out there, I’m not talking about e.g. a Linksys box for computery things. This type of router is a big industrial CNC machine consisting of a high-RPM drill spindle and Z stepper, and a big motorized table that can move in the X and Y directions. Feed it a block of plastic/wood/metal and a design file, and it turns out a complex machined part.)

Anyway, pretty much every project I’m currently involved with at work is stalled for one reason or another, including vendor douches who won’t return my calls*, fights with everyone’s favorite circuit board house (PCB Nazi Express–to be documented soon), TPOCs who only check their voicemail every six months, etc.–and let’s be honest, the idea of having a huge part-making machine at my disposal is really nifty–so today I got curious and started researching. Venturing into the dark and cobweb-infested corners of our storage area, I find we have THREE of these defunct machines, all missing the same critical component** (and then some). Turns out the production lab, who has two such routers (both working), have been slowly scavenging parts from these to keep theirs running. That works great, say, the first three times you need to replace a funky driver board (or six limit switches, whichever comes first).

It did kind of surprise me a little that the one pair of machines necessary to manufacture the only product the company sells in quantity (i.e. what brings in the $)…have no hot spares. Okay, forget a hot spare (these are large machines, after all), but not even the necessary parts to fix one if it goes. As CC explained, if one of these breaks down we’re kinda fucked.

(Expect a detailed HOWTO if I ever get around to hacking one of these things back to workingness. Plan so far is to gut most of the onboard electronics and command the steppers directly from a standard parallel port using EMC2.)

* “You’re from a 20-person SBIR company that hasn’t had a commercially produced electronic product in over a decade, and you want to buy ONE lousy part? Yeah, I’ll get right on that.”

** The missing piece is a funky old discontinued ISA card for old IBM XTs between about 8MHz to an upper limit of about 33MHz. This card actually has a jumper wire to tie into the PC SPEAKER pin on the motherboard; the DOS program that runs the router does some interrupt twiddling and uses the speaker frequency to control the spindle speed. I swear I heard “…in the ghett-o!…” upon discovering this. (More) sadly, since it looks exactly like an old ISA printer port card, they and the dusty old 286es housing them have been doubtless thrown away years ago in some routine lab / storage room cleaning.

Ok, last rant on these for a while, I swear :P

“This is Habib with Industrial Machinery Magazine(…)”
“No thanks.”
“It’s an entirely free subscription, which I’ll send out just as soon–”
“We’re not interested, we get too many magazines.”
“OK, can I just confirm your information–”
“Not interested.”
“It’ll only take a minute–”
“Not interested.”
“When should I call back?”
“Er… call back? If you call back tomorrow, we still won’t be interested.”
“OK, I will do that then. Thank you and have a ni–”
*click*

(joke’s on him – tomorrow was a holiday…)
Does every other industry get these same knuckleheads? Or is electronics a special haven of junky free publications (in exchange for sellable personal info)?

More @#$% trade magazine peddlers

It must be Horny Sales Douche mating season or something. Do you suppose if I write “BUY NOW” in loud colors on a bottle of saline and throw it out the window, they will leave me alone for a while?

*ring ring*
Me: (my name and company’s name)
Peddler: “Hi my name’s so and so with such and such, can I just confirm your information…”
Me: “Sur– wait, who is this? Is this about magazines?”
Peddler: “We’re a global leader in complimentary technical publi–”
Me: “No thanks, we already get too many of those things.”
Peddler: “It’s free you know. It’s full of useful information!” (or something to that effect)
Me: “I know. Not interested though.”
Peddler: “N-wait, you’re turning down a completely free subscription?”
Me: “Yeah. Hmm..tellya what, I’ll make you a deal. We have this big stack of unread magazines piling up on a table in my office. For every one of them you remove, you can send us one of yours…”
Peddler: “Okay, thannks, have a nice day *click*”

Again Jeff and I are taking turns fending off peddlers of stupid waste-of-trees free (advertising-funded) trade rags, and more importantly, contract design/manufacturing and consulting services. “No we’re not interested in your contract R&D service.” “Why not?” “Duh, we are a contract R&D company. You are our competitor.” “No we’re not interested in your consultancy services.” “Well why not?” “Google is my software consultant.”

So the phone rings, and it’s this distributor (name is familiar as we’ve done business with a similarly-named, but different, company in the past) calling to “make sure his records are up to date”. Sure, OK I says.

So he’s reading off my position, etc., and then spelling back my name to verify: “G..I..B..” (Aha! Now I know where you bought my name*. Fucking RTECC…) This is nobody we know, it’s a salesdouche.

So, salesdouche asks for my email address, I tell him it’s classified I prefer not to give out that information, and he gets all defensive… “I’m not going to spam you!” I start getting off onto a mini-rant– “Well, different people have different definitions of spam, and it so happens the definition of spam used by the last 30 people who bought my name from RTECC and spammed me differs from mine.”–but my officemate walked in just then and I felt the need to sound more professional. Anyway, it turns out we do NOT have an existing account with this company; this guy just wanted to call up out of the blue and let us know he sells crap… ask if I have any immediate need for some switches & relays, or expect that I soon will** for any upcoming project, because man, if I ever do need any switches & relays, he’s my guy.

* my last name has two common spellings. On encountering a situation which screams, “I Will Sell Your Name and Crapflood You with Junk”, I intentionally give the other one. That way, whenever I get mail or phonecalls addressed to (wrong one), I know immediately that the caller is intent on wasting my time.

**unfortunately, the parts I specify and purchase are driven by the application’s requirements, not what some horny sales rep calls me up trying to unload that week.

Odds & ends

fr33 mp3z d00dz

Here’s a kickass site I found: Jamendo. Download and share mp3s, free & legal, without worrying about keeping the RIAA out of your cornhole. All albums released under a Creative Commons license. (And they’re actually pretty good!)

Sync on Green, or something to that effect

I’ve long been bothered by an unparseable street sign endemic to New England: “Bicycle Stop On Line for GREEN”

Err.. does that mean stop while(green) (a la “I brake for teddy bears”), to avoid being clobbered by people making right turns? Or does that mean stop UNTIL green (while(!green)), the way the secret red/green traffic signal color code works in most other places? A mixture of boredom and curiosity had me research this today.

Short answer: NEITHER.

According to this, this strange sign was originally supposed to say/mean “Bicycles stop on (indicated spot) to request green”, since bicycles don’t have enough metal in them to trigger the inductive car-detector loops embedded in the road in most places (same reason you can’t walk up on a drive-thru and get service). The plan was to place a mark* to indicate the edge of the loop, where it’s most sensitive. The actual sign text, and the lack of any actual mark (or correctly placed mark) on most streets is, as you guessed, the result of Mass. Highway Department bungling.

the smell of vinyl in the morning

My office building was recently recarpeted. As part of the lease, everyone in possession of a wheely chair now has to have one of these silly plastic chair mats under their desk. They’re brand-new, and whatever plastic they’re made out of is the same kind they use to make inner tubes and other swimming pool toys. Now everytime I come into my office it reminds me of inflatable alligators.

(Between that and the fumes from the new carpet and carpet glue, I’m really enjoying coming in…just not getting much done…)

Have ye tried… the power button?

Speaking of the office, it’s great that we have an electronic engineering department. During the recarpeting, our Pure Water Technologies water cooler, which btw is a piece of crap and in for repairs it seems on a weekly basis, had to be unhooked and temporarily moved. When it was hooked back up by AC, MvS sent out an email saying the cooler was hooked back up, but the “hot” tap wouldn’t be hot for a little while yet. A couple minutes later (presumably not seeing this message), AC sends out an email saying the cooler is back, but to wait a little while for hot water. Pretty much word-for-word identical. This email pair was amusing (again, in the you-had-to-be-there way), resulting in a cascade of humorous replies which won’t be repeated here. Anyway, this morning the hot tap still wasn’t hot, so more emails. AC scratching head, and there’s talk of sending the unit back (again) for repair. This is when the EE swoops in to save the day, finding the big red “Hot Tank” switch on the back and flipping it from the OFF position to the ON position. Eh…

Tests Tim Can’t Pass (check all that apply): [x] Math [x] Blood [x] Field Sobriety [x] Turing [x] Voght-Kampff

So I was surfing teh intarweb yesterday, on a Japanese site via Google Translator (I was, er, mostly interested in the pictures). All of the sudden, instead of unintelligible translations I’m getting this error page. Google thinks I’m spyware! (Now granted, the typical male specimen looking at the internet’s primary content-type* may approach the task at “hand” with machine-like precision, but seriously. Run a virus scanner?)

This part amused me: “We apologize for the inconvenience, and hope we’ll see you again on Google.” Actually, if you’re Google, and think I’m a zombie botnet machine, you’re (aside from undertaking technical measures to ensure same) hoping you’ll NOT see me again :-) This line is as authentic as “I don’t mean to be a dick….”

*There aren’t, and never were, any lines. There’s supposed to be a white bike symbol, but many contractors claimed that they were unable to paint a symbol that small. Pardon? They should talk to the local graffiti artisans in my area, who can scrawl on jagged cinderblock with a resolution of < 1/8". ** Content-Type: Image/jpeg Content-Disposition: Smokin'

Abracadavra

My office is at the front of the building, with a large picture window overlooking a stunning view (okay, overlooking the Fire Lane and 2-story parking lot). So the building’s comings and goings occasionally catch my attention.

In a span of 3 days, I’ve seen two ambulances quietly show up (no flashing lights, no sirens, and no discernable hurry), accept delivery of a gurney, and just as lackadaisically drive away. I didn’t catch a look at the first one, but yesterday’s wheeled a pale, closed-eyed, motionless ( i.e. downright dead-looking) old man right past my window on the handicap ramp* during the on-load. The statistical matters (2 occurences, 3 days, and that’s just times I happened to be in-office AND notice something through the cracks in the vertical blinds), besides the obvious matter of potential cadavers floating past 5 feet away from my workstation, left me a little squicked. Surrounded mostly by unspecified researchers ( i.e. a paper sign recently appeared on the front door pointing “sleep study” participants to the side entrance) and anonymous biotech start-ups, I want to know…what exactly is going on in my building?

On a semi-unrelated note, I got out of my car yesterday in said parking lot, happened to glance in the backseat of the car next to me and… who the hell keeps a copy of the DSM-IV in the back seat of their car?

* Handicap ramp, n. Place outside where the entire buildings’ worth of smokers congregate (because they get shooed away from in front of the front doors by management) right in front of Jeff and I’s windows and smog us out of our office.

My_beloved__do_you_know.doc.prn.ps.prn.ps.pdf

My dearest MS Word,

Thank you again for a wonderful day. You know I've always loved your little quirks, like having to

ADelete all but the first character of a paragraph I’m replacing, then when I’m finished go back and delete the first character, because as punishment for deviating from this sequence you will change the entire paragraph to an arbitrarily-selected combination of size and font, which is 1) not the style I have currently selected, 2) not any of the registered styles, 3) not the Word default. Also, being careful to resist the temptation to press delete at the end of the paragraph where I just know all these stray spaces are hiding, because doing so will fuck up either this or the next paragraph’s formatting in weird ways and for reasons unknown to mortal men. You’re a harsh Mistress, Madame Winword. Thank you, may I have another?

But today, when I was trying to put together a short whitepaper for a project at work, you reminded me throughout our time together of how much I still mean to you after all these years. Typing over that bi-column text of someone else’s whitepaper from another project from two years ago (I’ll figure out how to do that myself someday, honest… I’m still working on my six-year Doctor of Using Microsoft Office’s Advanced Formatting degree), carefully preserving the paragraphs and their headings as described {Insert->Cross-Reference->Numbered Item->include-above-below} above), deftly making my incision into the paragraph with my cursor, replacing one character after another with ninja-like surgical precision. Carefully restoring the formatting when you decided to munge it anyway, clicking away those lovely little windows asking if I’d prefer the default action of destructively overwriting the style currently selected in the drop-down menu with the bizarre combination of three different fonts and justifications you’ve chosen for the currently selected sentence, rather than the option of forcing said sentence’s formatting back to said currently-selected style in said drop-down menu. Fond memories of sanitizing tri-format text by cutting it, pasting it into Notepad, then copying it back to Winword as glorious plain old ASCII text.

I remember the text was long enough to just barely spill onto the last page, resulting in maybe four lines of text on the left followed by three lines on the right, looking like total ass. Even Jeff, when I asked him to run eDocPrinterMaDealy on it to generate the .pdf, commented on how much it looked like ass: “Dude, this little thing spilling over onto the last page looks like total ass.” So I cut, scrimped, optimized until the paper ended on the last line of the third page. It was a work of art. So, back to Jeff’s machine to run the eDocDealy magic. It grinds for a moment and spits out a beautiful .pdf, except for a big blank fourth-page-from-out-of-nowhere containing a company header, a footer, and NO TEXT (since the text ends on page three). Smack myself on the forehead, jump to the last visible character of the Word doc and hammer on the delete key until all the invisible tabs-spaces-linebreaks-control-characters at the end are gone, page 4 disappears and the last paragraph drops two points of font size and becomes left-justified, then “undo” once because I’ve clearly forgotten Rule #1 above*, and been reprimanded for it. Page 4 still gone. Save. Page 4 still gone. Print to the eDocPrinterDealy again. WTF? Blank Page 4, pop! Back with a vengeance.

So now it was a logic puzzle, and being engineers, we would rise to the challenge. Jeff and I spent probably a good twenty minutes printing the document to various real and virtual printers, experimentally determining which ones would cause the blank page to come back when printed to. HP 8150, no. HP color laser, yes. HP 9000 PS, no. eDocPrinter, most definitely yes. The act of printing should not change the file! Now, maybe there are some fiddly differences between printers that would cause text to reflow slightly differently on the pages they print, but those differences should not cause modifications to crawl back down the printer cable and be back-ported into my friggin’ document, which then asks me if I would like to save my “changes”.

Enable display of hidden control characters, none to be found. Continuing the experiment, maybe if I delete more text, it’ll stop happening. One line. Two lines. After deleting about six lines from the last (righthand) column, an orphan first-line-of-paragraph from the left column jumps to the beginning of the righthand column as part of some automagic orphan-control voodoo (nevermind that this misfeature is not actually enabled), and now no Page Four is generated, no matter which printer is printed to. But fuck you Word, no way am I shortening six more lines out of my paper to make you happy. I decided maybe if I printed to a known-good “No Page 4” printer but captured the output to a PostScript file on disk, and run GNU pdfwrite on the file, it would work.

So, Winword, it seemed your submissive microserf was getting all high and mighty, and you had no choice but to accept. But as a last act of defiance, you pre-filled the PostScript file output dialog with *.prn, even though it was a PostScript file (*.ps). “.prn” in a filename makes me cringe, because this has been a reserved console keyword since about DOS 1.0, and in the DOS/Win9x days filenames containing these (CON/PRN/etc.) were a recipe for hard-crashing-freezing-locking-up-hung-wedged disaster. (Ah, the glory days of embedding “file://CON/CON” links into web pages to insta-bluescreen any unpatched Win9x machine that tried to view it…) So I changed it to blabla.ps, and hit save. Out comes blabla.ps.prn to my desktop, four pages long.

But Ghostscript let me select a page range to convert to PDF, so I could get rid of your nuisance blank header page from my final document. Nyaaarrr. Just goes to show, hon, that after all of our time together, we still get along as well as the day we met.

*tear* I love you, Mistress Winword. <3

-Tim

*Error! Reference source not found.

It’s Not You, It’s Me (or my flapjack of a customer)

So, I pop up from the lab and this horny sales rep has left me a voicemail. “Er, a while back I sampled you an LCD for a project you were working on, ah, just wanted to know, um, how that’s working out you, what the status of your project is, ok, I guess just give me a call at…”

I fucking hate calls from sales reps. Not just because they want to be my buddy and call me for a year trying to set up meetings with “their guy” who’s going to be in the area next Tuesday, but also because, as a small R&D company and with a dozen similar parts out there, we (a) probably didn’t go with their part for our design, and (b) probably aren’t going to ever, in our lifetime, buy more than 10 units anyway. So, after the HSR has (without my asking) pulled some strings to send me $50 worth of free samples, I have to break him the news that we are not going to be using his part for our design. Some of these guys work so hard to get us on board…it’s hard to break the news to them; it’s like making a break-up call. I’ve only had to do one breakup letter in my lifetime, and it fucking hurt. Anyway, now I have to callback these various reps, and deliver them the ol’ Dear John:

“Hun…It’s a really great part, and has been a pleasure to work with. It’s just not what I’m looking for at this stage in my design… it’s just…my needs aren’t being met by this part. I hope you understand. It’s not you, it’s me.”

Sure, I suppose I could just dodge them indefinitely, and not return their calls, hoping they get the hint that I’m just not that into their component, but after $n in free samples (whether solicited or not), I figure I at least owe them a call.

I tried to explain that despite his repped product’s technical superiority, they were undercut by CrapCo in Shenzhen ’cause they were half the price. Then my customer is being a bitch and wants a complete redesign for free (at an estimated cost of $5k, this is a no-go), so production has not gone forward anyway, and at this point I don’t expect it to. Well, no names were named, but I was probably more honest with Horny Sales Rep than I should be under NDA. I thought the direct approach would dissuade further advances, but no. I laid it out bare: “hey, I don’t want you to do all this work and then find out this project never continued…”, but he insisted. So, I’ve got Horny Sales Rep scavenging to get me a part from his rep’d company at CrapCo’s price for a part that still, in all likelihood, will never be bought. I love R&D, but sometimes it leaves me pissed off.

The last few weeks in review

Woo, long-ish hiatus from blogging. Anyway, since last “real” entry (non roommate rant, geeking, meme, etc.) some or all of the following have happened:

Did the company Christmas party thing; dragged LE out to it this time to meet these nut-jobs I work with. She humored me, even though we all got toasted and I tried to get her to dance :-P Had to explain about ten times to various too-interested co-workers that no, we are just friends and not an Item (and get the “why-not-you-dickless-idiot” about the same number of times). It might be fun to bring a dude next year.

Spent half a week in CT testing a self-balancing-blade technology at Unnamed Helicopter (a.k.a. My Life with the Spin Grin Cult) with CL and AL. This meant waking up at about 4-5am every day, which ranks right up there in my book with, say, having my kajongas amputated. The first day out, the bottom dropped out of my x-large Panera Mocha-Frapp-Latte-Ccino-wake-up-dammit-juice just as I was about to enjoy the first orgasmic sip, drowning the interior of AL’s Beamer in coffee of unknown quality (he even stopped grinning momentarily), but other than that, not much eventful happened, which is good. E.g. no electronics caught fire, no blades delaminated and became shrapnel bombs at 1,000RPM, all our data channels (mostly) worked, and the testing was an overall success.

An aside to talk about Tempur-Postur-Pedic fancy pants mattresses. The place I stayed for this trip had one. I can and have slept on just about any horizontal surface, including, but not limited to, flat rocks, concrete, larger members of the opposite sex, hardwood floors and wet tent dirt. But I couldn’t get much sleep on this thing. Imagine a tired old college-dorm mattress with a huge sagggg in the middle that you keep rolling into…now imagine that wherever you roll to escape it, the sag follows you. Wake up with the sensation of drowning, and find that the man-eating mattress has swallowed you down to your topmost ear. With a great and valiant effort, you succeed in rolling out of the deep pit that formed around you, find a nice firm spot elsewhere, and resolve to get some shuteye. Slowly begin to sink… repeat this process throughout the night. All right, that’s my rant for the day.

Got home that Thursday to find that some co<implausibly long string of profanity here>ucker busted the driver’s side mirror off my car while I was gone. I found the smashed carcass of it laying next to the door, and little pieces of mirror all over the street, with a few that managed to get on top of the car. Maybe time to get cracking on BumperCam/EtcCam*.

Found that after 2+ months of acting all lifeless and dead, my blueberry seeds sprouted! Only 3 more years until sweet, delicious blueberries in my room.

Procrastinated like a mofo on writing out holiday cards (I think they went out christmas eve, although who knows when the mailman actually collected them) and getting crap for peoplegift shopping.

Picked up a Nintendo DS; voided the warranty on the first day. It’s now a Linux-based intarweb and wardriving appliance. Of course, it plays games too.

Rang in the holidays with meat. Xmas eve, tasty roasted chicken and stuffing at JR’s. Xmas day, grilling dripping-red steaks at my place with JR, LE and SA. New years eve, at LE and company’s place, a quart over full with a delicious roast pork shoulder, which we followed up with some mild drinking activity and a bunch of movies (some in human sofa mode :P) . Oh, and crashed there until the following day too, and discovered evidence that there is a God.

Now… hiding from the world and catching up on this bloggy thing. It’s SBIR season again and I procrastinated to the last minute, so expect me to stay a bit scarce for the next week or so. (And become an instant expert on artificial neural networks! Yyyyyeah…)

*although if used for more worthwhile purposes, I guarantee they’d come up with some excuse why a dated, cryptographically signed video of a cop hassling you is not admissible as courtroom evidence, or worse

Unusual question from a ‘zine peddler

At work, our engineers occasionally (as in, all the damned time) field calls from marketing folk offering complimentary magazine subscriptions, as seems to be common practice. The magazines are supported by advertisers and at least vaguely related to our fields. EDN. ECN – with the ‘C’ styled to look like the ‘D’ in EDN flipped around backwards. Design News. EE Product News. Network Computing. Analog Insights. Sensors. Government Computing News, The Big Floppy Magazine That Doesn’t Fit On Any Shelf.

We don’t really find time to read them, so they’re mostly Wastes of Trees that they Won’t Stop Sending unless we Bitch Really Loud. I occasionally take the EDNs to the second office and scan through them there, since that time’s kind of wasted anyway. It has some worthwhile articles, and a Dilbert cartoon each month.

Anyway, today I get one of those dreaded magazine callers, all nasal and fast-talking and sounds like she’s on the other end of a really bad VoIP link, wanting to ask A Few Questions*. After the usual “do you specify equipment for…” stuff is out of the way, she asks: “For verification purposes, what color are your eyes?”

Weird verification procedure. I was in the middle of something, so I didn’t try to have any fun with her. But I couldn’t help thinking, “hmm, I like where this is headed…”

* much to my surprise, this one actually did keep it short. Usually A Few Questions have parts Z through ZZZ, and I basically have to offer/threaten them with a picture of my awe-inspiring physique our existing overflowing table of unread magazines to keep them from chiming in with [“but it’s free!” | “this’ll only take a second!” | “it has relavent news and important information!” | “why don’t you want any?” | “what’s your reasoning?”…]

Ok, I can dye my hair blue now

A couple days ago I was talking to someone, and the subject of proper interview / work attire came up. Of course, there’s a difference between “proper” and “what one can get away with”…the latter being a function of indispensibility. I quipped (not for the first time) that I could dye my hair blue if I wanted, because, what are they going to do, fire me?

Anyway, a new month just started so the usual round of engineering hour allocations began. (This is where project managers say, e.g. “This month I’m going to need our machinist for 16 hours, analog guru for 40, 21st Century Digital Boy for 40”, etc., total up all the hours for each engineer / project and rejigger them as necessary to use everyone’s time efficiently.) That afternoon I got CC’ed on an email from DG, veep of engineering, stating that I’d been “overrequested” by about 100 hours (in a ~140 hour work month). Ya, I think I can try that blue hair now :)

Void Where Prohibited: The Phantom Urinator strikes again!

At work today we had a meeting in which we discussed toilets. We talk about toilets way too much.


Figure 1: Toilets, and the discussion thereof, are thouroughly appreciated by everybody.

Anyway, for at least the last few weeks or so, there has been a problem with leaks in the men’s room. Specifically, somebody taking them all over the floor. Now, surely, it’s not intentional…we’re all big boys (engineers and research scientists, at that), so I don’t suppose anyone is doodling on the floor to make a point, or play starship captain* or anything. However, while it’s not unheard-of for a couple stray drops, including splashback from a right torrential piss, to land on the rim or outside the bowl, these have been substantially more than a few drops…more like small puddles. Since this particular fluid dynamics problem has been brought up in meetings for the third time (the nightly cleaning staff have even brought it up), I haven’t seen the puddles return in the last few days. Hopefully this means the phantom urinator has cleaned up his act.

Today’s tank talk focused on a new matter, however. Our wing of the building has two sets of toilets–a mens’ and a ladies’ room (“one-holers”) inside the office proper, and a pair of massively parallel, multiporcelain public johns located in the hallway just outside. For the longest time, there was an informal agreement that any “serious business” be taken care of in the outside johns, not the ones right next to our offices/kitchen, due to the non-stellar nature of their ventilation systems. In fact, some jokester had taped up a little handlettered sign on the wall opposite the throne: “if you can see this, you should be in the other bathroom.”

Eventually the sign fell off, and for whatever reason, over time this informal rule fell by the wayside and never got passed on from old staff to new. Someone brought this up, with some vigor, at today’s meeting, formally enacting/renewing the rule. Later today, someone went so far as to zip-tie the seat in the ‘up’ position. Doubtlessly, some form of amusing signage will also appear within the next few days. I feel bad for whoever unwittingly dropped the bomb that brought about a staff meeting discussion, No Deucing signs AND a zip-tied seat.


Figure 2: Just had to be spades…

* and boldly go where no one has gone before

Staatsgevaarlijke

Yeah, I have one. Over 70% of people do, even though the vast majority of these despise them. It’s one of those discount cards from a major east-coast grocery chain.

“And he causeth all, both small and great, rich and poor, free and bond, to receive a MARK in their right hand, or in their foreheads: And that no man might buy or sell, save he that had the MARK, or the name of the beast, or the number of his name.” – Rev. 13:16-18

I can’t talk about any specific disruptive technologies I may or may not be developing at work right now (grr, stupid NDAs), so today I’m going to talk generically about discount cards.

Every office, PTA meeting, and other suitably large public gathering should have the following: a little dish where everyone throws in their Shaw’s cards (or Dominick’s or Kroger or Jewel-Osco or Piggly Wiggly or whatever the local mon/duopoly is), swirls them around and picks one at random. It’s no secret what they’re for–linking a longterm purchase history with a specific individual using a GUID–but this mass data-collection’s ultimate impact on the consumer, beyond the halcyon hype of the card purveyor, is often less explored.

There is of course the worry that if said history data is already there, sitting at the ready, it’s only a matter of time before someone uses it for other than its intended purposes. Sadly, it already happens: there are already known instances of shoppers being investigated as terrorists as a result of having statistically anomalous buying habits, as well as Drug Enforcement Agency requests for information about consumers suspected, for example, of buying large numbers of plastic bags. Last year, a firefighter was charged with arson when his house caught on fire, based in part on Safeway card purchase records indicating that he had previously purchased the same type of camp firestarter found at the scene. (The charges were dropped after another person confessed to the crime.) This August, three men with Arab names were arrested on terrorism charges for making a bulk purchase of 80 cell phones from a Wal-Mart. (Pay-as-you-go phones are often sold below-cost by US carriers to drive usage, with the side effect that they can be profitably resold across the border. According to Caro Police Chief Ben Page, though, people with Arab names use them as bomb detonators and–I shit you not–make methamphetamines from the batteries.)

Ignoring the real, but unlikely prospect of anomalous purchases resulting in FBI investigations and gloved fingers where they don’t belong, such card data is used internally for various less-than-friendly purposes, such as charging higher prices to consumers the statistical model determines are willing to bear them. This is often rephrased to say that tiered discounts are selectively offered by the computer to specific classes of customers. To the cynical observer, it should come as no surprise that research performed by CASPIAN found everyday pricing at stores with card programs to be 28-71% higher than non-card stores in the same area. All of you behaviorists in the audience will also note that the way to influence consumer behavior is by offering incentives and punishments that drive responses toward a desired goal, not by giving out free rewards for what they’re already doing. (A temporary loss leader might be a good way to hook a normally steadfast customer on a new, more lucrative brand, but giving them a buck off that store-brand milk they buy every Monday isn’t doing you any favors.)

The full scope and discussion of all the ways discount cards screw the average Joe is beyond the scope of this rant, but CASPIAN has a well-researched overview.

Naturally, the real long-term solution to customer-specific pricing is to do away with loyalty card programs entirely. Which, as long as stores believe they are making money from them, izzngunnahappen. In an ideal world, consumers would vote with their feet and wallets, and either resign themselves to paying ridiculous markups on groceries (subsidizing the cardholders), or go out of their ways to shop at non-card stores. Some believe that this is the only way to go, and in that ideal world, they’d be right.

However, most people, myself included, don’t care that much. Even if they disagree with the premise of loyalty cards, it might still beat paying time and a half for groceries (still feeding said system), or driving several towns over to find the nearest non-card store (wasting time and gas, feeding an oil baron or two) in a purist pursuit of their ideals. For these, the least-effort approach is to simply poison the databases until stores notice that their card program is costing more to maintain than it brings in*, and drop the programs. Make this data appear so arbitrary and useless that it doesn’t have value to the Pavlovian marketing douches that perpetuate such things.**

Of course this process is not currently automatic; you still have to find people who give enough of a shit to trade cards with you, and in a convenient manner. Who has time for all that? It would be much more disruptive if this process were automatic. Presented is the means to seamlessly and automatically swap valid card IDs with another user in the area, presenting a different GUID at every purchase. The backend enforcement of a “swap” rather than a “copy”, together with the zip-code rule, may limit efficient heuristic detection of the swap arising from simultaneous hits or geographically impossible usage patterns, etc.*** Alright, it’s certainly no solution, but it’s better than nothing. And it doubles as an LED flashlight.

* Running a loyalty card program, and the infrastructure thereof, is bloody expensive. Stores are not exactly forthcoming with an exact figure, but let’s call this value $k. Installing a card program raises the store’s operating costs from $x to $x+k. Where is that money coming from?

** Sadly(?), the head marketing douches are not stores themselves, but the purveyors of card-loyalty program infrastructure. “You need this. You want this. This’ll help you compete with Wal-Mart.” But the buyer often doesn’t fully understand what it’s doing or why, as evidenced by the number of cashiers who will cheerfully swipe a “house card” if a customer doesn’t have one.

*** As for the DEA/DHS issue, cardswapping may also add plausible deniability to your purchase history, much the same way as having an unsecured wireless connection has gotten the occasional downloader off the hook for allegedly illegal downloads. Possibly a very good thing if the person before you bought 1000 cellphones, and 1000 Ziplock bags to put them in.

And echoes with the sound of salesmen…

Yeah yeah… I probably sound like I’m on some kind of guy-rag lately. But I feel like ranting, so ranting is what I will do ;-)

At work some of us got into a random product-ideas-sales-suggestions discussion over email, passing around the @everyone list. I started writing a quick reply with a few ideas, and somehow it ended up turning into a fullpage rant on salesmen.

I think it had something to do with all the sales douches that kept calling and pestering me all day.

One of them, who I’d met at the RTECC last week*, rang me to talk about an FPGA project I mentioned that “may” be in the pipeline, depending whether or not we get awarded the contract. He tried to cajole a contact email address out of me, which I rather firmly declined, reiterating that “dude, I don’t even know if this project exists or not yet. How about, give me your phone number, and I’ll call you up when or if we have anything to do along those lines.” Sure enough, not 5 minutes later, I get an email (presumably, having no luck coaxing one out of me directly, hunted around on our website) from this same tool wanting to set up a meeting to discuss our “application requirements” for the aforementioned non-existent project. I briefly considered melting his socks with a reply of the type likely to melt socks, but I had shit to do, and had enough of my time wasted already.

On our own side we (meaning not me – DM and a few other guys) just got this whole online-ordering thing set up, which will be great. I don’t know about the average joe, but when I see a product listed somewhere with “$Call” after it, that says to me either

  • it’s so new that they don’t even know what to charge for it yet (meaning both “sales price has no correlation whatsoever to what it actually costs to make” and “bleeding-edge, expect bugs”)
  • it’s a not-yet-existing product, which means either in-development, or “there’s no such product, we just stuck a feeler out to estimate the market for this”
  • “if they make you ask, you don’t wanna know” – pricing may be determined in part by how interested I sound on the phone.

At any rate, what it means is I’m going to waste the next 20min. haggling with the slimy sales douche on the other end of the line trying to justify the price and/or upsell me to the Super Duper version and 3e+08 accessories. I’d go out on a limb and say that most technical folk, when they commit to ordering something, already have a pretty good idea of what they want, and want to get it done with and get back to what they were doing. For me, that’s why I dread that call to the Sales Douche. I’m busy. I want to order it and get back to getting my shit done. Meanwhile, the Sales Douche starts out by trying to wheedle out the sensitive details of my intended application (hey dude, sign an NDA and we’ll talk), how many of my end product I intend to sell** and when (I don’t know, it doesn’t exist yet), blah blah blah. He wants to “talk about it” exhaustively first, like some kind of pre-purchase marriage counselor: “Do you, design engineer, take this ADC, to sample and hold, in sickness and in health, ’til the Nyquist frequency do you part?” He wants to be my buddy, he wants to add me to his mailing list, he wants to know if there are any other engineers in the building he can call and harass, and what are their phone numbers?

After enough lying about the application, quantities, etc. and all that runaround, I finally get some parts ordered. But I know it doesn’t end there, oh no. Now begins the year+ of callbacks, that same horny sales douche wanting to know if this week is the week I’m going to be ready to order those 10,000 units.

On the bright side, I’m getting my very own intern next week. OK, so that means taking a bunch of time off my own projects to babysit mentor the new guy, but maybe I can also task him with answering my phone and telling sales douches to piss off. (Only kidding folks. We’re also going to have him stripping wires.)

* I went for the educational stuff – e.g. there was a great talk on CAN-bus/CANopen by esd electronics (these guys were purely informational, not trying to hawk something – my hat’s off) – but killed time in between by wandering around the exhibitors’ booths. Man, you wouldn’t believe these guys, jumping down your throat before you’d even had time to scan enough of the poster behind them to figure out what their company does. I think now I know the feeling a lone Hot Chick gets in a roomful of horny adolescent males.

** 10,000. Always 10,000. If s/he ever finds out the 5 samples I’m buying are really all I need, since we’re only building 3 prototypes for in-lab use or a one-off experiment, I’m probably not even going to finish the sentence before the phone clicks in my ear. All right, exaggerating…but only slightly ;-)

Come to my office for sound advice…and lynchings!

Our new official EE department mascot

Okay, the story behind this: We just got this new whiteboard in for the EE office and asked MP to hang it on the wall. Since it’s replacing an old defunct one, JR set the new one against the wall with “Please hang me” written on it, and the arrows indicating where we wanted it, and a little smiley face. I came in and saw it (JR was out of office), and drew a crude noose, and left for a while. JR saw my edit and drew a body, X-ed out the eyes and added a hangy tongue. I saw his edit and drew in the reading materials, based on what projects were annoying us that day. (They are “EAGLE for Masochists” and “SMPS 20-Ton Handbook”.)

Seeing stuff like this is probably why nobody else will hang out in our office. (…sorry, that was bad. (It’s probably just because we don’t have a beer fridge.))

Company Xmas party 2005 pics

Actually on Dec. 3, but I only just now got the pictures back :-)

Clicky for pictures of my coworkers and I on the piss, including entirely too many pictures of me with my big red balls swinging around.

Featuring a great dinner, open bar, hilarious video* (to us; but with inside jokes that require much explaining to mere mortals) by our very own Manionator, and the…drumroll….Bush Job of the Year! (From the SA expression “just pulled it outta the bush (shrubs)”, i.e. jerry-rigging something with the resources at hand.) Winner was a prototype of a SMA waterborne-vehicle-buoyancy-adjuster, demonstrated on its “submarine” (a project enclosure sealed with black goop, with large nuts and bolts epoxied to the inside as ballast weight), complete with high(-ish) voltage wires sticking right into the water. Ugly, but it proved the concept. I’ve never won the much-coveted BJotY, but dammit I’m trying

* not posted here for obvious copyright reasons…and because it shows an IPF prototype failing miserably (all done by special effects, I tell ya!). If you know me in person, ask real nice and I’ll show it to you.

extern far MCBSP_Handle hMcbsp1;

That makes my day. OK, not entirely…makes it slightly less sucky, but you’ve gotta start somewhere, right? The mimosa in my office has decided that december is a good time to start making flowers :-P

After untold hours of hacking around and pestering TI tech support, I can now write a byte to the evil DSP‘s onboard serial port and have it actually….appear…on the serial port….yes, we will be realtime noise cancelling in 10 days. Riiiight…

First remote Thanksgiving, or, my week on Marion St.

I celebrated this Thanksgiving in Boston, away from my family for…I think, the first time ever. Blame a lack of priorities or planning or pretty much anything else, but the end result is about the same. For some reason the major holidays, rather than being times of joy and togetherness, have always just kind of bummed me out. Several of the major ones are concentrated toward the dark, wintery part of the year; maybe that is a contributing factor. Historically, my family has either (depending on which side you’re talking about) gone nuts obsessing over them, or kind of written them off as one of those annoying things people do from time to time.

Of my two best friends in Boston, one was on vacation for the week and the other was/is barely speaking to me, for reasons I still don’t comprehend. I tend to have a small number of close, true friends, and would much rather have this than a hundred people I only barely know, who would just as soon stab me in the back as speak to me if they thought it would get them a bit ahead in life. But not since my move to Boston has it really hit home how tenuous that scenario really is – how great and awful an impact on my life it would be, socially and otherwise, if something happened suddenly to even just a few key people. And as much as my species for the most part just tends to piss me off, it is inexplicably comforting to have other trusted people around sometimes. I tend to be extremely self-sufficient, tending not to need or seek help or advice from others…still, it’s sobering when you realize how close you are to having no one left to turn to if you ever needed to.

Anyway, my boss* invited me to Thanksgiving dinner with his family and some of their neighbors. I know, that probably sounds totally lame, but it was awesome. There was so much food, and it was terrific…the conversation was polite and civil, their kids were adorable, no yelling, insulting, crude sex talk and innuendos at the table**, cigarette smoke, nobody threw the turkey… Funny how sometimes the significance of something is carried on the backs of such little things, like the way people interacted with one another…positive energy, if such a thing can be measured.

After dinner (and probably too much red wine), I fell almost immediately into a nap (last time I did that, it wasn’t a particularly pleasant experience, but I’m not sure if I should document it) ’til about 1am, then tried to actually go to sleep and failed, and ended up talking to my brother online ’til about 5-something AM. Eventually went to bed/sleep, and not an hour later, about 6:20 AM I’m woken up by every smoke alarm in the house going off. If there’s one thing I associate with smoke alarms, it’s false alarms, so I dragged myself out of bed (clothes still on) and came out of my room to find and kill it. My mood kind of changed a little bit when I smelled the smoke drifting through the house, reeking of burning paper and oil. Then it was a beeline for the front door, or at least close enough to it to verify an unobstructed exit, then through the house looking for the fire. No fire per se, just a lot of stinky smoke… By this time my housemate Jay was awake and out of his room, the heating was shut off and I was relieved about not having to make an emergency gerbil-rescue run back upstairs***, and our landlord would be out that morning to look at the boiler (apparently, boilers get unhappy very quickly when they run out of water and the auto-shutoff mechanism fails). Needless to say though, not much more sleeping happened that morning.

I spent the Wednesday before, and indeed, most of the holiday weekend, with my buddy GJM just a few doors down from there. Between various home-improvement projects (me, being a stereotypical male? Hey…power tools rock. Besides, I might actually have a house / wife / etc. some day, and need to know this stuff :-) , nearly getting into a fistfight with a staff member at Lowe’s Home Improvement****, traipsing around the local northeast chasing a bunch of train nuts (to be documented), amateur plumbing and some tree transplanting (CM is awesome too, in the uncannily comfortable way), we got that whole quality-time thing licked (not to mention most of the Captain Morgan bottle. Probably not the best idea in conjunction with power tools, electric saws and fire [with or without meat cooking over it], but we still have all our fingers).

* it almost feels funny referring to an actually cool person as my boss, because that’s always struck me as being sort of a dirty word. Truth be told he isn’t very boss-like, at least in the stereotypical short dic(k)tator sense of the word.
** not that I have a problem usually with that…hell, I can be a real perv sometimes myself. But a family dinner gathering maybe isn’t the best place for it.
*** any firefighter will howl at you to NEVER NEVER even consider going back for something, but I know a few people who would all but kill me for not considering it, too.
**** more accurately, GJM nearly getting into a fistfight. But if he took a hit, I would have to jump in on principle alone. Good friends are hard to come by…and harder to keep.

This week

monday: Out of the blue “WTF?!” condition…not documenting publicly since it involves a good friend and some possibly private stuff.

tuesday: “Need a valve actuator PID controller with 100ms settling time* for this project you’ve never heard of before, even though we’ve been working on it for $bignum time now, and have known we needed a controller for probably longer than that…anyway, figured we should probably tell you about it now since the project ends this month….so, by the end of next week, yeah, that’d be great…”

wednesday: “Need a shippable prototype of the TAPE electronics, full repeatability characterization, a few more lab prototypes just for good measure, how about next week? Yeah, that’d be great…”

thursday: IPF prototype thingymabob device works-works-works, so Je* schedules a demonstration for tomorrow. Just to make sure everything will run smoothly, we test-test-test, making sure everything’s perfect and all the specs are met. It runs 30 seconds (doesn’t sound like much, but that’s way longer than it’s designed to go in one burst) with all the settings maxed out, just beautifully. There are tears in our eyes.

Met up that evening for a first date with LJ**, where all my best-laid dinner plans were foiled by long waits. (I mean, who all decides Thursday evening is when all of Boston should be out on the town at once? Honestly.) Typically awkward first-date thing, we’re both a little too quiet maybe, but at least nobody ditched or showed up wielding chainsaws or anything. Just kind of…meh.

friday: “I smoke two FETs in the morning, I smoke two FETs at night. I smoke two FETs in the afternoon, it makes the lab all bright. I smoke two FETs on demo day, and two the night before. I smoke two FETs before I smoke two FETs, and then I smoke two more…”

Grr. How come stuff always works just fine until you schedule a demo of it? We charge up the battery overnight and run it once before the demo, only 10 seconds, just to be sure there are no surprises. Let it cool off for a couple minutes, run it again…

*sizzle*

IPF demo postponed indefinitely… There are tears in our eyes again, but for different reasons. Prototype’s power section continues to blow up one or the other pair of MOSFETs repeatedly and without warning throughout the day, and we have no idea why. Je* is heading out bright and early Monday morning to show the prototype off to a bunch of really important dudes, so this is kinda trouble.

Also, “Hey, we just found this thingy for sale online that compiles LABVIEW programs so that they can run on that DSP-thingy you’ve been painstakingly coding on since last year. I bet it will run way faster than hand-optimized C, and then we can design all our filters in LABVIEW! Oh BTW, that needs to be working by next week….”

saturday: Up at the buttcrack of dawn to set out for Jaffrey, NH on a camping trip with some of the work crew. Alternatively, a drinking trip that also happened to involve camping. Bright and early we set off up Mt. Monadnock…it was a warm, beautiful and nearly cloudless day. Going up, it almost felt like deja vu…I could vividly remember last year’s trip to the same place, as if it happened the day before. I didn’t even take many pictures, because everything looked so eerily unchanged from the last time. I would be standing in a particular spot framing a shot, then realize I had already taken this exact picture, from the exact spot, a year ago. Even the lighting was identical; I was struck by the way the sunlight reflected off of a particular, dense array of already leafless twigs, just as it “always” had. It kind of made me stop and notice that in many ways, not much in my life in general has really changed since a year ago today. Kind of humbling; makes me feel as though I haven’t really been applying myself to anything important and meaningful of late… just kind of falling into the same daily grind.

Anyway, the trip turned out to be a lot of fun. My calves were rather tender the next day, probably from being “on the brakes” the whole way down waiting for people :) …by near the bottom of the mt., my leg muscles were getting prone to going unstable (oscillatory) in certain positions. After all that, fire and food all day; I somehow regained my “hollow-legged eating machine” reputation all over again (hey guys, I didn’t even eat that much). I could go on all day, but what happens in Jaffrey stays in Jaffrey, especially now that my bloggg has a cult following around the ol’ workplace (or maybe not really, but hey, I can be paranoid)….you don’t get to hear about all the gossip, embarrassing stories, work-related ranting, or who spooned who in The Rod’s tent; sorry :-)

sunday: Arrrrggghhhh….is it morning, already? Got home around noonish, immediately took an aspirin and crashed on my bed for a few hours, still smelling strongly of campfire. Woke up just in time to take a long shower and head off to see Bauhaus play the Orpheum. Awesome! I think I wasn’t paying that much attention to fashion when I woke up though, and came a little under/over/mis-dressed (meaning, reflecting too many photons) for the occasion. They did a cover of Ziggy Stardust that would have had K* creaming his jeans.

monday: 9:45am: “Yeah, I had a great time on our date, but you’re too young and too skinny. I should have realized that a couple weeks ago at Toast. Sorry.” -LJ

10:30am: “Yyyyyeah, we just bought that wankview labview cross-compiler-ma-dealy, only $3,995***. Do you know anything about it? Oh, documentation? Oh, I figured we would buy it first, then worry about seeing if it would actually work for our application, because hey, we’re on a schedule here.”

5:15pm: “OK, this demo is supposed to make the DSP board generate a sine wave…wait, where is it?” -J
“See those little spikes on the scope every so often? Zoom in on one…keep zooming…more….more…” -me
(zooming in) -J
“There you go, 512 samples of a sine wave” -me
“…but what’s all this empty space in between?” -J
“That’s where it’s computing the next 512 samples…” -me

Later on, went over to GJM’s house, where GJM and I reacquainted ourselves with the Cap’n (ahh, memoriesmemories…), then picked up some power tools and got the heavy swinging-trapdoor-and-ladder-to-the-attic-assembly almost installed.

tuesday: “Heyyyy…how’s that actuator controller looking?” -AL
“Working on it right now…just got the parts in, stole a spare processor board from TAPE, and just finishing up the DAC code now.” -me
“That’s great…hey, apparently we need a resolution of 5 microinches…can it do that?” -AL
“…microinch…?” -me
(a decimal point and zeroes start filling across my whiteboard, and eventually a 5 appears at the end of them) -AL
“Umm…” -me
“So, for the laser displacement sensor****, you’ll probably want to add some kind of a filter…when we were trying it on the valve, the output value had about a millimeter of jitter on it, and some kind of drift like this…” -AL

* “…I figure you could just reuse the code and design from the (other project) actuator (with the 2-minute settling time), right?”

** luckily this proto-relationship failed, otherwise this whole initials thing would start to get confusing fast for the people on LiveJournal.

*** that’s only one order of magnitude more than the board itself.

**** which will be the feedback source we use to tell when we’re within 5 microinches of the target deflection…

There’s no swimming in the heavy water, no singing in the acid rain… red alert, red alert

I think I figured out why I don’t drink the water at work much. It doesn’t taste like water. Actually, it doesn’t taste like anything. It’s diet water, if there is such a thing. Regular old municipal water, but run through a crazy reverse osmosis, oxygenating, ozonating contraption that brings the dissolved solids down to about 10 parts per million (yes, somebody measured). It’s really sad that the thought of bottling tap water from home to bring to the office has actually crossed my mind.

Ah well…at least my Nepenthes likes the stuff.

Halloween pics @ work

Will document the weekend once I’m actually home, because that might take a little while. In the meantime…

I still recall the taste of your tears…

Me with the Osbournes

Group photo of all my work-people

All the pictures

These (of all the work people) will only be online for a few days, so look at ’em fast! When they aren’t anymore, I’ll put local copies of the good ones here. If nothing else, at least see Jared’s rendition of a Southwest Airlines pilot and Conor being…Conor.