Posts Tagged ‘capacitors’

Long-overdue vacation pictures!

OK, finally cleared some space on the ol’ computermachine, dumped the pics and deleted the really crappy ones. This trip started in Vegas, then onto Zion Nat’l Park, Bryce Canyon, Glen Canyon/Lake Powell area, a quick excursion to the Grand Canyon, then back to Vegas, with some random desert stops along the way. I’m not much for hookers or the blip & bloodle of one-armed bandits, but aside from that the trip was pretty nifty :P

[Big Photo Album]

(And if you can’t be bothered to dig through the whole thing, at least check out the Bryce Canyon hoodos (beginning on p4) and Antelope Canyon (starting on p9).)

Just another day, you and me in paradise

So, today I did this massive circuit board layout for our big Shaft Seal test fixture controller. All right, I mean, I really meant to. Honest.

Oh, and got on about half the company’s shit lists within a few days. It’s not everyday you can piss off two entire departments by accident.

Anyway, last Friday one of our Mechies CC’ed the EEs on an email about product development, and why a certain (halfway-developed-sitting-on-the-shelf*) electronic product of ours isn’t on our web site as a product, with some well-intentioned suggestions on how to get it there (such as license it to our huge competitor, who already has a product line of these things). I replied to it with an explanation of what would be involved in getting it there and unwittingly set off this whole firestorm. As previously mentioned, “List it on your own website and wait for Google to find it” does not a marketing strategy make. Sure, this strategy (along with qDot pimping it heavily at conferences, and links in The Register and a print magazine) made sales of the Drmn’ Trance Vibe soar to over 6 a month at one point, but in a Real Company, 6 sales a month does not brisk business make. (My company’s energy harvesting product, using the same “marketing strategy” (minus qDot), has comparable sales volumes.) Anyway, this did not go over well – our Marketing Department (webmaster), miffed that his mighty HTML efforts had gone underappreciated, shot back with some product placement suggestions of his own.

Now today, Production (2 guys) announces that the high voltage amplifier they’ve been borrowing in ELAB for the last year or so has been relocated to Production for the time being. Knowing why this is the case (they broke theirs a year ago and have been using ours rather than pay the upkeep on their own equipment), I wrote back a reply privately asking why they haven’t replaced their own yet, noting it isn’t really fair to push their operating costs off onto other departments. Crap, ‘nother firestorm.

Not two hours later, one of the production guys catches me at lunch with Yet Another Router Emergency. I had to ask him if he was serious at least twice, thinking ProdGuy2 copied him in on the shitstorm and he was dicking me around as payback, but I come downstairs to humor him and sure enough, the router is juddering around like a freshly-swatted hornet in response to any attempt to command it to home position. The problem only manifests right when it gets to the optical home switch (after which it fine-tunes its position using an index wheel), so it looks like an open-and-shut case of hosing some dust off the index wheel and going back upstairs to get some real work done.


Okay, how about changing out the indexer for a spare. Get into the storage room, and find that someone threw away one of the spare CNC routers, along with its accompanying sound-proofing dust hood. Not eBayed, not Craigslisted, not taken it home… put it out next to the dumpster without asking anyone, because it was taking space. What. The. Fuck. (Granted, this machine was non-functional due to previous part pilferings, but these machines go for about $50K new, and with some creativity, suitable replacement parts would have run less than a grand.) (Had I known, that shit would be safely in my basement, carving me some furniture right now.) Anyway, there was one indexer left and by the time 5:00 rolls around I’ve found the actual source of the problem, after changing out the indexer just made things worse (machine just sits there with the jitters). It was a worn-out control box connector; plugging it out and in to add wires for a ‘scope caused the machine to unfail, in true heisenbug fashion. Yeah, now I feel like an idiot, but a vaguely angry one at that.

* Hardware-wise, the device is developed, in the sense that there are working prototypes; we’re even using them in the lab and they blow the pants off of Futek’s boards and any of Omega’s anonymous little black shitboxes. The initial design was completed literally in two days during an oh-shit-emergency-we-need-this-yesterday installfest at a customer’s site. However, the other 90% needed to actually make a product of it — characterizing it over an entire range of temperatures, input voltages and other conditions, qualifying it, coming up with guaranteed specs, making a datasheet and user’s manual, idiotproofing, design-for-manufacture and setting up a production run, to say nothing of all the ass-kissing / gladhanding / marketing dollars needed to get it exposed — weren’t in the cards.

The answer to the question

The flag for my house is done and installed! Actually, Kr* did most of the work. I had to relearn how to use a sewing machine and did a few of the easy parts. The house number is 42, so the Hitchhiker’s Guide theme was a no-brainer. :-)

Also, the clear-bubbly knob on the end will eventually be lit internally by blinkenlichten (the flagpole is hollow to accommodate power and data wires), foretelling tomorrow’s weather by slowly changing colors.

Let'(s) talk Sex Offenders!

A Xerox of a crudely hand-written note appeared in front of my door* the other night, along with the doors of every other house on my block. It reads:

##-A ##### ST.

(Spelling is as on the original.) Currently, all states are required to maintain a registry of sex offenders, which is in many cases publicly available (sometimes with some effort). So I can’t really fault anyone for wanting to notify the neighborhood that there’s a registered offender in the area (e.g. talk to your kids about it), but the way this was publicized is just plain brain-dead on a number of levels, starting with flagging the exact door to form the lynch mob at. Now, without sounding like more of a socioeconomist/racist/statistician than necessary**, this is a zip code where you don’t want people going around inciting lynch mobs, because they might be easy to incite. Medford’s registry only discloses the name and address of a "level 3" offender, i.e. deemed a high risk of offending again. At the time of this writing, it lists 45 "level two" offenders and one "level three" (not nearby).

I haven’t filed the paperwork to find out if there is actually a sex offender at ##-A (or this is someone propagating a rumor they heard somewhere, or pissed about a parking space, etc.), and of what severity. Although some Googling around reveals hundreds of web sites ready and waiting to scrape your state’s Registry and redisplay the output to you (along with a heaping helping of adverts), nothing I could find actually makes the effort to say what a sex offender actually is. Obviously, rape and molestation fit the bill, but I’d like to know the other ways a person might end up on this list. From what I can gather, these ways could include pissing in an alley after a long night at the pub (public exposure / exhibition), two consenting teenagers having sex before their 18th birthdays (even Clinton sex)***, or quite possibly telling one’s secretary she has a hot ass one time too many. Without this information, I (nor anyone else on the block) have no idea how seriously to take this. (Personally, I’m going to say "not very" until I see some proof of actual nastiness, the spectre of gross Coors Lite pee puddles notwithstanding.)

On a side note, I’m not entirely sure why these public registry laws apply specifically to sex criminals, and not, say, murderers, or violent (non-sexual) repeat abusers**** who have sent innocent people to the hospital. Hell, if there were a serial armed robber living next door, I’m sure there are people who might like to know that too…

* when I first saw it, it was folded up and only the SEX OFFENDER part was showing… for a brief moment my heart jumped into my throat, thinking maybe I’d not closed my bedroom window/blinds completely enough to some neighbor’s satisfaction during a night of sexy fun, and they were fixing to have some words over it.

** statisticians are the best type of racist.

*** or for that matter, flashing each other on a Webcam, literally hundreds of miles from actual physical contact. Also known as possession and distribution of child pornography. (As you all know, humans come with a Raging Hormones switch that gets switched on as part of an 18th birthday party ceremony.)

**** although, where you have a domestic abuser next door and the houses are close together, you probably know.

Big e-manufacturing knowledge dump coming “someday”

I haven’t really talked about the Trancevibe project in a while. With the whole moving and vacation thing it kind of got shuffled onto the back burner a couple months ago (have I really lived here that long?) and never revived. There’s also this huge uncanny valley between making and selling a couple of something on the down-low to a small-knit community, and making and selling hundreds to thousands of something, as I’m finding out (er…what is this ‘business license‘ of which you speak? Oh yeah, and the FCC and CE are both full of crap). That kind of burns because this project is the first and only time (including going on four years as a professional EE at an actual company) I’ve seen one of my projects with a clear migration path to volume production. I must say, designing widget after widget in order to build two prototypes, write a report on it, then throw them mostly-working into a box never to be seen again seems like a lot of unfulfillingly wasted effort, which gets old. I have a solidly DFM design chain mapped out in my head, a method for small-scale automated machining (for the enclosures), full modularity, automated assembly, application support in mind (beginning with OhMiWinamp, heh…the plugin SDK is still sitting gathering dust on my hard drive), and even eyecandy that’s sure to be a hit (and could be added for under $1.50 per unit).

I’m making (small, incremental…need non-people-time) progress toward picking it back up, but still not sure when that will actually finish. I’ve still got stuff to do on the whole house thing before I can even start unpacking my EE stuff, let alone set up a work bench (let further alone a production facility), and some other projects stacking up besides. Lastly, a new gf, who when I let slip about the existence of this project (which loosely translates to non-EEs as “I sell homemade sex toys on the internet!”), seemed pretty visibly squicked. She’s seeming more tolerant of the concept now, but still…

Done with people

This feeling has been steadily building, but really reached boilover this weekend or so. I kind of don’t want to see or hear any other humans, at least for a while. Nothing personal; just being around people, friends etc. – too many, too frequently and for too long – causes them in general to become unbelievably irritating and I just want to get as far away as possible. Kr* figured out the term I couldn’t fish for… “me-time”. I take that to mean the theoretical possibility of allocating a suitably large block of time and just holing up in a well-locked room somewhere, curling up with a good book (and/or a good project), with no interruptions, no social obligations and nobody monopolizing my time. In many ways, it’s great not to be alone… but once in a while I long for the days when I didn’t have any remotely close (and/or local) friends and could actually get my own shit done.

To fully describe the feeling of the moment would keep me up far too late to be useful at work tomorrow, which I somewhat need to be, so I’m going to go to bed instead… I have serious blog-catching-up to do (someday in the not-too-distant future. Probably eating a bit of my valuable no-people-time).

PQI Sucks

UPDATE 2007/10/12: PQI have now replaced the card with a brand new one which appears to be in perfect working condition. In an apologetic note, PQI’s warranty department mention that Eddie (the guy who handled my original RMA) “is not longer working with PQI.” So, the issue ranted on below is most likely a fluke and not representative of the company as a whole.

The 2GB PQI ( branded SD card for my camera started going south and developed some bad sectors. Normally, I’d run chkdsk /r to seek out the bad sectors and mark them as such, but an SD card isn’t a hard drive: the computer talks to a (typically USB) card reader which talks to the device, and atttempting to read a bad sector causes different readers to fail in various unpredictable and reader-specific ways. Mine simply locks up and throws errors, refuses to perform any further reads or writes, which causes chkdsk to die with an “An unspecified error occurred” halfway through. Since the sectors can’t be marked bad, the camera will always try to write pictures to them*, which means I lose pictures (per Murphy’s Law, the very best ones). Not acceptable. So I go through the whole process of RMA’ing the defective card, since it claims to have a LIFETIME WARRANTY.

Anyway, I get a replacement card in the mail, sealed in a shiny new clamshell pack (that popular new kind of packaging that it takes three scissors and the Jaws of Life to open). Extricate it and…hmm, there’s already some wear on the contacts. Production testing? Sweet, they must have tested the shit out of this one, and it passed mustard. Hot stuff! Err…Ok, it’s more likely somebody’s old used refurb. So being ever curious, I decided to open it up in a sector editor and see if they’d at least wiped all the data off the card. It would really suck if they didn’t and my (hypothetical) nekkid pictures were being mailed to someone else after running the secret “remap spare hidden sectors over the bad ones” command not available to mere mortals and fixing it up. Sure enough, after a nice blank FAT indicating a formatted disk, I find a bunch of data beginning with a JPEG header.

Hmm… sure enough, the remnants of some poor sap’s pictures are on here. Wonder if they’re interesting… A few minutes with a file recovery tool later…

Hey, Bryce Canyon, I’ve been here! …Hey wait, these are MY pictures!

They repackaged and sent my same fucking defective card right back to me! ZAR (and chkdsk, etc.) also reveal that all the bad sectors are right where I left them…

PQI sucks.

"Hey, that guy with the beard looks familiar…"

*This of course assumes that the camera, or any other device the card is plugged into, contains a full FAT16 implementation, which for embedded devices is often not the case. Many cameras, mp3 players and similar gadgets will not reliably handle bad sector markings or even fragmented files, happily hosing any files it didn’t put there itself – or even ones it did, if you’ve deleted some other files nearby and left a hunk of free space just a wee bit smaller than the file it’s currently writing.

Code monkey get up get coffee; code monkey goto job

> DE wrote:
> Anyone interested in having a fantasy ice hockey league. No money
> involved, just for fun.

Does this involve quests and dragons?
My wizard's hockey stick has a +5 against Canadians...

T. R. Myself
etc etc

Disclaimer: When said Canadians are vendors, said stick also deals +4 pissed-off EE
damage and +n lamb nomination damage, where n is the number of available lambs.
NOTE: Flinging the dice at your opponent does 2d6 damage. But it may affect your
ability to participate in future games.

So, Tuesday begins the setup for Wednesday-Thurs’ big exhibition where hundreds of fellow corporate whores embedded geeks, wireless tweaks and sensor freaks exhibit their wares at the Boston Embedded Systems Conference. Including myself, as of 5pm Friday. Only one problem. That niggling little “yeah, you don’t have a demo together” problem, you say? Yeah, that’d be it. How smart you are.

Anyway, we’re sharing a booth with (Unspecified Vendor Eh?) since we have complementary technologies. This is really cool of them, since a booth is Wicked Expensive and the high-ups would have never sprung for it themselves (we’d have to sell, like, aboot 10 units just to break even). However, about a month ago, they kind of just dropped off the face of the planet, not responding to phone/email/voicemails/etc. starting aboot the day after we met with their sales rep in person. Now, as a small R&D company, I’m sort of used to this by now. Vendor sees we’re a small R&D company (“…marketing strategy? We put a blurb on our web site, what more do you want? …Yes, technically our marketing department is GoDaddy), realizes he’s wasting his breath and *poof* gone. So, when I suddenly got a reply to Thursday’s hail-mary email, I have to admit I was kind of caught with my pants down around my bootloader. So Sunday and today have been spent jerry-rigging a demo together, and realizing how [bleeping] much I [blippity] hate [nargin] MATLAB, the [@instrcallback] Language of [razza-fragga] Standing on the [message redacted] Street Corner Doing One [readasync()] Thing. Looks like tomorrow will be too*. I also discovered why laboratory shakers are so expensive, after trying and failing to build my own from scrounged lab gear. Once again that dissected Drmn’ toy has become a vibration source for an energy scavenging demo.

*Exploration for today: Discovering what particular flavour of crack MATLAB is smoking such that plotting points to a figure only causes said figure to update after the script terminates, which is non-optimal behaviour when said script is to read its input data continuously from a serial port from aboot 2-7pm, the length of time I’m sitting with it in a booth demoing. Oh, and it supports callbacks (triggered by, say, serial port carriage return), but only when not executing a loop, but also only in response to a readasync() which, if you’re reading more than one line, is in a loop.

Bulk update

Lastlastlast week JR, Matt, HAL and I went rock climbing at MetroRock in Everett, kind of like a meta-birthday party. This was fun. I haven’t done any serious climbing since high school, and had to relearn all the knots, etc. Here at least they believed in actual fabricated harnesses; we didn’t have to go all retro and tie our own out of seat belt material (yes, it can and has been done, go LTHS). Also, did some hanging out with Kr*, who amazingly hasn’t thrown me to the curb yet ;), and (re-)discovered the suck that is the Green Line. I thought it would be better than the suck of trying to find parking near BC, but I guess not really. My train got delayed by half an hour by a Medical Emergency at the next station. For a while visions of a tattoo-clad SuicideGirl throwing herself in front of a train wandered in my head, but after a while of sitting in the train with nothing much to do except chat with the driver, it was found that an old lady slipped and fell on the train one station ahead of us. Apparently, when this happens, by MBTA policy everything must grind to a halt, stopping trains until both paramedics and MBTA officials and a replacement driver arrive on the scene. Yes, even if some crack-addled nutjob hurts himself rolling down the aisles and beaning himself at the end of the car, you’ll find the hapless driver in the fishbowl of Park Street(?) getting an interrogation and drug test, because of the very slim but nonzero possiblility that the accident can be blamed on the driver (e.g. old lady fell because he hit the gas too fast). Yeah, I’m pretty glad that my biggest worries at work are Mechies or magazine salesmen harassing me while I’m trying to get actual Stuff done.

We also celebrated the waning summer with a big BBQ of uber-thick cuts of beef (or beef tatake, as I “cook” ’em ;) and a Costco of slow-cooked pork ribs. Of course lacking any sort of furniture to accommodate this many people, I ghettoed something together. The seating was mostly milk crates and two collapsible chairs; this posh dining table is an old trash-rescued closet door with its hinges resting on a trash barrel on either end. But the ribs and sides were tasty :-) Including a pretty good Aunt Token’s Cornbread and Kr*’s kick-ass potato salad. There was a mild scare when the oven decided to hold the ribs hostage! There’s this little lever that locks the door shut, which I thought was for just locking the door shut while you cook (the oven’s old and the door doesn’t close as fully as it probably should, unless the lock lever is pulled). Apparently though, this is probably meant to go with the self-cleaning feature (where it heats up to solar-flare temperatures and literally vaporizes any accumulated cruft), and, when engaged, has some thermally-activated mechanism that locks the door closed until the oven cools off. Luckily we were slow-cooking the ribs at low temperature, so it didn’t take that long for the oven to cool off a bit and they didn’t mind an extra 15 minutes or so in there. The door unlocked while we were in the middle of disassembling the top of the oven to get at the thermal latch and disable it (which is still a good idea, see my past rants on gadgets overriding their owners’ decisions).

Zipped off on short notice to Roanoke to do some testing, as mentioned here. Turns out I didn’t get steel-toe shitkickers, but plenty of G-W swag instead (rotating mint project enclosure! Plus a free hat, tire pressure gauge and a huge tin of VA’s finest peanuts. The testing went much smoother than I had anticipated, given previous experiences, and I can now say I’ve ridden in the engine cab of a rolling locomotive. There was enough time left over to catch a nice lunch, get some reading in and play a substantial amount of Mario Kart DS. (Of course, the minute I’m back in the office production is crawling down my throat with a new CNC router emergency, but that’s a rant for another day!)

Last weekend, off to Connecticut for Kr*’s friend’s graduation party. Good times, open cooler, almost Olympic sized swimming pool in the backyard and some crazy-ass beachball volleyball.

Finally making some small progress on the house thing. We’ve got enough dinnerware to go around, and as of a couple days ago, with the help of JR and Kr*, (via the Ikea Experience) a big dining room table and chairs (plus 150XP in 2-Door Nissan Furniture Tetris :P, and enough Gorilla Glue on my hands to ensure no more Traffic Finger for the next 2 months). I even got real ambitious and cleaned about a hundred years’ dust off the crazy retro chandelier. Procedure: Unhook all the glassy bits, throw in a bucket with dish soap, turn garden hose on OMGWTFJET setting and blast the shit off them (mabye fill the bucket 1/3 and shake them around for a minute to be sure). A bunch of those little hooks come out, but they’re solid metal, so as long as your bucket isn’t ridiculously short they’ll stay around the bottom of the bucket and not get lost. Dump off all the suds and dust-water, reclaim your glass and metally bits and you’re done. Tonight JR and I (with some help from HAL and LE) ripped up the upstairs bedroom carpets, cutting them into strip rolls and taping up for the garbage man. We’ll find out next week if said garbage man will take them (old carpeting and underfoam may be considered Construction Trash and need some special dick-sucking permit). Found some critters living within, inclunding a silverfish and a couple beetles (last month during initial carpet yanking; became plant food) and a spider tonight that just got squished and rolled. Maybe the crazy apartment lady was onto something with the whole carpet thing.

Secret Incantations for correctly configuring Ubuntu

Yeah, I made that mistake the other day setting up a temporary machine to compile dslinux on. I guess it’s not all bad… just not at all what I expected from everyone else’s ranting and raving. Anyway, if you already have no idea what I’m talking about, it might be a good idea to skip this post. It’s here mostly for my own documentation in case I ever have to do this again.

Getting Broadcom wireless card to work (bcm43xx and fwcutter):
Broadcom are a bunch of douche bags and don’t support anyone trying to write a Linux driver for their stuff, so currently how to get these to work is with a reverse-engineered hack someone wrote, but it requires a copy of the card’s proprietary, copyrighted etc. firmware extracted from e.g. the Windows driver file using a program called bcm43xx-fwcutter. Obviously, they can’t include this copyrighted material on the Ubuntu install CD (see Restricted Drivers rant later on), so get some floppies handy. Apparently though, (once you install and get it working using floppies), it’s perfectly acceptable for them to have the installer download the copyrighted Windows driver from a warez site some guy’s free web hosting account (which unfortunately has long ago been deleted, so this doesn’t actually work anyway) (on Googlepages, which is kind of like a geocities account with slightly less censorship, but apparently not slightly less enough).

So the steps are:
Download bcm43xx-fwcutter
Download bcmwl5.sys from wherever and cross fingers that it’s a supported version
Consult fwcutter’s help for extraction steps
Copy the resulting files to /lib/firmware/x.x.y.y/generic/ (where x.x.y.y varies depending on your current kernel version)

* Re-perform this incantation whenever package-updater-ma-dealy quietly changes kernels on you and your wireless stops working (re-copy all the *.fw files from e.g. / to / Print this page for next time this happens and you can’t access my blog anymore to see these fixes.)

Restricted 3D driver and Desktop Effects (i.e. recovering your desktop now that it hangs):
Problem: You saw something called ‘Desktop Effects’ in the menus and had to go playing with it, didn’t ya. *click* So it had you install a Restriced Driver* for your video card, which unlocked two mildly interesting (though useless) Desktop Effects: one makes desktop windows wibble-wobble around when you drag them (like you were tugging on Jell-o), and the other does this rotating cube thing with your desktops (hard to describe succinctly). Anyway, the Restricted Driver made things flaky, so you retraced your steps and un-installed it, but didn’t think to un-check those two little Desktop Effects tickboxes first, because removing the Restricted Driver is supposed to take care of that, right? Anyway, now your beautiful Ubuntu desktop crashes just after login with a white rectangle followed by a White Screen of Death. You Googled it and found that this is because you didn’t untick those GUI checkboxes first, but now you can’t untick GUI checkboxes because the GUI no longer works.

Solution (at least worked for me): Go into your home directory, delete .gconf, .gconfd, .gnome, .gnome2, .gnome_private, and .nautilus (and any subfolders/files), cross fingers and reboot.

Make no mistake, this lack of sanity-checking is a BUG and needs to be fixed.

Obviously, this setting is stored in a .conf file somewhere, and with a two-line edit to this file you could fix things right up. However, despite a metric assload of people having been bitten by this same stupid bug (as evidenced by volumes of forum posts), not one forum post successfully identifies where this tickbox setting is buried**.

Do not run ‘dexconf’ under any circumstances, including in an effort to fix the previous problem, no matter if someone in a forum got this to work fixing their x11/xorg config files on some specific setup. If you already did, hope you’ve got your old xorg.conf backed up somewhere. I thought this would (like similar scripts for Debian) ask a bunch of questions about your monitor timings etc., back up your old file, ask your permission to overwrite yours with the new carefully-chosen settings, that whole first-date semaphore. Yyyyyeah, like notsomuch. Actually, it goes zzzip and kills your old file, and your chances of running X ever again along with it (unless you have a backup).

Shared Folders (aka Samba aka Network Neighborhood)
Shared a folder in Ubuntu using the pointy-clicky widget, and you can’t connect to it from other machines. Just get asked for your password over and over, if even that.

Solution: In Debian, you’d set up a shared directory by hand-editing smb.conf. In Ubuntu, you set up a shared directory by right-clicking on it and ‘Share…’, then fix it by hand-editing smb.conf.

[in global config]

[in share’s config]
public = yes

chmod -R 777 your_shared_files might help too (cargo cult; I did it At Some Point during trying to get it to work, so no idea if it helped at all or if it’s actually needed), assuming you extremely trust everyone who can get at them.

Running fsck from install / recovery disk:
Ubuntu has no ‘root’; it’s all done with this sudo stuff. So booting the install disk to fsck some disks before they mount, no root there either. Luckily ‘sudo <dangerous_root_command>’ will do the trick, no password needed.

Running VNC (x11vnc), or probably services/daemons in general
In Debian, installing the package would also perform all the necessary voodoo to let the service autostart at boot. Some entries in init.d, rcWhatever.d, inetd, etc. Not so with Ubuntu, apparently.

To set password (step 1): vncpasswd
To run vnc server once (see if it works) (step 2): x11vnc -usepw -rfbport 5900 -shared -forever -nowf -norc -notruecolor -scale 4/5 -scale_cursor 1 -desktop computer_name -bg
To make it run every time (step 3): (TODO: FIXME)

Browsing Windoze boxes’ shares from Ubuntu:

So yeah, about this Ubuntu thing…I’m not liking it. Think I should have stuck with Debian Sarge.

* Since most video card manufacturers would rather swallow a pineapple rectally than release an open-source driver for their card, and most Linux packagers would rather have a family of rabid hedgehogs living in their urethras than soil their distro with a non-open-source package, there’s this whole big ta-do about getting the thing installed, and they let you know it. In Ubuntu, this finger-wagging is performed through something called the Restricted Drivers manager. When you install a Restricted Driver, the lights in the room dim, ominous music plays, and over a Latin chant seranade a reanimated dead voodoo chicken from out of nowhere skitters across your living room floor and disappears down the basement steps, never to be seen again. Then your 3D applications all run quite a bit faster, at least theoretically.

Now, I just installed this new system two days ago to do one very specific task; I don’t want to spend the next two weeks reverse-engineering it to figure out how all these weirdly-named GUI-related processes interact with each other and where each of them writes its config files. I know what X (~= X11 ~= XFree86 ~= XOrg) is and that all things graphical (starting with a Window Manager; I assume this one is Gnome given the funky foot thing and ‘.gnome’ hidden file in my home directory) run on top of it, but what’s gdm? gconf? Is that different from gconfd? Nautilus? Metacity? That sounds like some kind of screensaver, or maybe something a really bad cancer might do. If I want to track down where that tickbox setting is hiding, I first need to know which of these dozen cryptic window-popping programs is responsible for popping that particular window, the one with those two little Desktop Effects tickboxes on it.

I guess I’m not the only one who just wanted to ‘joe /home/tim/mystery.conf’ and change the appropriate line to ‘wibbly_wobbly_windows = off’ to unfuck things, but couldn’t find the setting. All afflictees giving or receiving help on Google-accessible forums suggested various sledgehammer-cult approaches, like uninstalling the packages named ‘compiz’ and ‘beryl’ using the commandline package manager (now wtf are these? Are they in addition to the dozen no-name graphical voodoo packages already mentioned? Anyway, removing these also causes a package named ‘ubuntu-desktop’ to be removed, which sounds pretty important, but apparently isn’t, because I haven’t noticed any change. But it didn’t solve the problem, either), or the approach that eventually worked for me, deleting .gconf, .gconfd, .gnome, .gnome2, .gnome_private, and .nautilus (and any subfolders/files) from the home directory and rebooting.

Out tue, wed, …?

In Roanoke, VA for some __ohshitemergencylastminute testing / data gathering. You can guess how much I love this shit getting sprung on me at the last possible second, but away we go. Sounds like I’ll be getting a free pair of steel-toed boots out of this mess.

Stuck in the middle with you (Friendcest Diaries pt2)

“Let’s just mix them together indiscriminately and see which combinations do something interesting.” – my strategy for the old chemistry set I found in my grandma’s basement as a kid. (If there were dangerous combinations, they wouldn’t have put them in the same chemistry set, right? My grandpa talked me out of playing with the chemicals, redirecting my attention to the microscope, which provided many hours of lonely geeky fun.)

With only rare exception, I’ve had fairly good luck with Boston friendgroup entanglement. These combinations of friends and groups have been stable and cool and conflictless, even when iteratively kneaded and folded into a dozen-plus meta-posse. There’s seldom been need to sneak around between friend groups that didn’t get along with each other, or pick who’s sitting out of a particular gathering because some pair from the different groups can’t be around each other. This has made me lazy and complacent about the benefits of keeping friendgroups at least a little bit isolated, compartmentalized like a virus lab or Navy ship bulkheads. (The Titanic’s bulkheads were supposed to be this way, but, um, weren’t… resulting in Leonardo DiCraprio’s popularity among other things.) Anyway, mingling has now happened in a way that threatens to affect this track record.

I should probably stop being all indirect and just spill the situation, now that whatever was going to happen…has now happened, and everyone it would actually affect already knows about it. A longterm friend group and major component of most any posse formation, , consists of 4 housemates, three of whom I’ve known for about three years now. We’re all friends and like to hang out semi-frequently. Two of these have been dating each other for about as long, up until a couple days ago, at which point the girl broke up with the guy and started dating my housemate, who as you may know and guess, respectively, is a good friend and former college roommate, and has already been incorporated into the meta-posse. As you can guess, the new ex is (quite justifiably) upset by these developments, especially the part where any problems that existed between them, he just found out about for the first time a couple days ago, during the dumping process, which is to say, far too late to do anything about them (unfortunately, this seems kind of par for the course in these things). So, on my end things look pretty screwed up. Any posse combination including xbf and xgf is a no-go, as is any mixing of xbf and bf. And as the person responsible for importing this new suitor and causing them to meet, I’m probably not too popular over there right now either :( Besides that, all the various permutations of [friend||enemy]-of-thy-[friend||enemy] almost certainly apply as occurs in any friendcest situation. (You’re still friends with x after x did y to z?)

In the other, nonlocal friendcest situation mentioned, I was chatting online with my cuz and she mentioned K*… I figured I’d just get the elephant-in-the-room out of the way, i.e. let her know K* already told me they were seeing each other, then change the topic. Anyway, she’s like, “wha..?”…and had no idea what I was talking about. Apparently, “hanging out” (her side) became “fuck buddies” (his side) when run through the Typical Male Specimen exaggerotron–either that, or these two have some talking to do about what exactly they are, or (are, are not) becoming.

The Friendcest Diaries

You know the saying that when shit happens, it’s usually not content to happen in the absence of other shit? So um…yeah. Typically, my thought on friendcest is that it’s generally not a good idea for the inter-friend-group drama that it threatens to create, especially when it fails, and/or when two of the relators (e.g. current one and previous one) meet up awkwardly at one of the usual friend-group gatherings. But the other day I realized how deep the rabbit hole can go. (Cue *squick* factor.)

Apparently, one of my best friends from college met my cousin over 4th of july, and they’ve started dating. Err… I guess dating isn’t exactly the right term. The term the kids are using these days is “fuck buddies”. Eww. Guys tend to have this irrepressible urge to brag about their conquests, and this one in particular tends to spare no detail at no inopportune time (cue references to Snowball Stories while eating cafeteria clam chowder). Now there is one set of stories I don’t need to hear. Eww. Also, he’s 27 and she’s still in undergrad. Eww. So yeah, I guess she dumped her bf who’s currently off to college at Fah Away East for this purpose, and a few days ago went off to college herself in the land of Fah Away Midwest, and now things are weird between them. Go figure.

The morning-after-vacation pill

And back home am I. The actual trip (complete with thousands of pictures of rocks :P) will be documented soonish.

As previously mentioned during tonight’s game of telephone pictionary* at LE and crew’s house, I accomplished the following at work today:

I wrote one line of code.

And it was a #DEFINE. (Followed by a ; FIXME: WRITEME: make this actually do something in the code)

Surrounding this stunning achievement, I dequeued the vast mountain of emails, voice mails and Action Items that had piled up in my absence, put out some fires, grovelled through the notes for a meeting I wasn’t at, full of itty bitty little new specs from the new commercial partner we were meeting with, which would necessitate a pretty substantial redesign (and maintaining two separate versions thereafter) to answer some questions and prepare an accurate power-consumption estimate for this design that doesn’t exist yet (in preparation for a pop teleconference tomorrow morning), pinged several vendors whose lack of punctuality (or, lack of returning our calls) is causing stalls in various projects, and doing viewgraphs and an Excel sheet for tomorrow’s monthly project review (the project has only two engineers on it, and one of them is me, so in the days before Monthly Project Reviews, this would have been accomplished with a 2-line email). All right, I did get one piece of actual, non-throwaway work done – threw together a quick ‘n dirty test jig for load-testing a particular type of rechargeable battery at extremely low temperatures in the environment chamber.

Anyway, I was a little spent after today, ending up all quiet and preoccupied with nothing in particular (the noise of blotting mental silence following the destructive collision of too many ideas and too much state for the ol’ brain buffer to accommodate). Methinks there needs to be a morning-after pill for vacations, softening the blow that follows a long week of relaxation (aka putting things off).

* Picture that didn’t happen: Brilliantly backlit cloud, with a deep booming voice emanating forth:

(void *)u = new Universe(&heavens, &earth); //TODO: Fix lighting

On vacation

Someplace way southwest from today-ish until the 13th or so.

Berry nice

A posse was rounded up this weekend for sort of a double date – raspberry and blueberry picking at a farm away-up-north. Without even getting ourselves too lost, we succeeded getting there in a timely manner, and left with at least ten pints of berries, a jug of cider, wine and a greasy (as it soon became clear) bag of cider donuts, all of which were tasty. We made a detour to a small town candy shop and ice cream stand, and found some rocks by the ocean to play on. Afterward, posse + HAL assembled at JR’s to make dinner and dessert (have to put all these berries to good use somewhere!) and do some Wii’ing.

Yesterday, JR and M came over; we finished digging out mini-garden-patch #2, chucking all the crabgrass and rootballs thereof, spread some shit all over (ahem, I guess they prefer to call that stuff manure, because hey, who would ever pay money for a big bag of shit?), and planted the last of the sprouts. Some of them didn’t look so hot, but we’ll see what they do. Tried sushi at a place in Medford called Sei Bar, which was alright. My raw fish craving is now wide awake.

Saw Kr* again today, everything seems to be going well so far :) Aaah, normal relationship…There’s nothing “maintenance contract”y to deal with, which is refreshing, but it also means being thrown into the deep end of actually having to plan dates/events* and try to seem interesting, and all that normal boyfriend stuff I have very limited and outdated experience with. We spent tonight at her place quite literally laying around for a long stretch of time, but didn’t really talk much. I thoroughly enjoyed myself… but sooner or later she’s going to want more, and I have no idea how I’ll hack myself into providing it.

* never put an embedded developer in charge of planning things. If forced to do so one will generate a perfectly timed, massively parallelized plan – however, the slightest deviation from the plan will cause the whole thing to crash and burn in spectacular fashion.


Annnd, we have internet!

And JR put up a wiki page for all that stuff that needs to be done at the place in the near term. People can make their own additions if they sign up an account (it looks like it will work even without giving up a valid email address, but you can trust her not to sell it to spammers ;)

Ok…I’ve done pretty much nothing but work this week (10-4 week), but (between GJM’s surprise coming and going) tomorrow I anticipate have a contiguous block of freetime long enough to get something done in. First order of business, steam out the upstairs hallway carpet (not visibly filthy, but shag carpet with serious dust-accumulation issues). It’ll eventually be ripped out, but that’s a bit ambitious for now while all our crap’s still standing in the kitchen waiting to go somewhere. Maybe once we’ve settled in somewhat… BTW, our carpet man was a miracle worker. All these stains and year-old cruft-accumulating pop spills scattered like magic under the glare of the steam** vac system. Next step will be to rip out the ugly old carpet in the two large bedrooms, and refinish the hardwood underneath.

JR brought over plants, and planted them in the garden patch HAL and I weeded out the other day – some squash, tomatoes, peppers and beans. We quickly ran out of garden, so there are still some sitting around waiting for a new spot to be dug. LE and crew were over and we BBQ’ed…my first attempt ever at gas grilling (I still prefer charcoal).

Serendipitously, I was asked to come over for a few minutes to test the range of a coworker’s wireless doorbell, and while trying to find his house scored a Mac FruitGumdrop* keyboard and optical USB mouse on the curb. I like the keyboard (it’s smaller than the standard 104-key PC variety, without eliminating *too* many of the important buttons), but soon realized there is no way to type Ctrl-Alt-Delete on one (as fundamental to using Windoze as breathing oxygen).

* I don’t remember the formal Mac-name for this system, but I’m sure you know the one I’m talking about. The computer itself was also on the curb looking like it would be fun to play with for a day and snatch the drive out of, but I didn’t want to get stuck with the $25 recycling fee to (re-)dump computers/CRTs in Medford.

**”steam” cleaners don’t actually use steam, the more correct (but less common) term is “hot water extraction”.

Do not look into laser with remaining eye

Hehe…From a Navy SBIR solicitation for an automatic sniper-warning system:

This topic seeks technology that will provide a capability to detect a potential sniper at a distance. The technology needs to work autonomously, without having the user actively participate in the scan of the area. […] The most likely technology would be a laser or other directed energy scanner that could detect a return signal from optic systems to include human eyes. The system could also automatically direct a dazzling laser toward the detected potential sniper to dissuade them from continuing to target the Marines.

20070723 update

We don’t have internet at the house yet, so brief from-the-office-jeff-aint-over-my-shoulder mini-update.

I met Kr* (from that dating site) for the first time last weekend for coffee & then dinner… despite all my worst fears, she turned out to be cool and normal and not give off any creepy vibes. So this weekend we met up again, this time at the aquarium. They have some very cuuute penguins :) I haven’t managed to do something stupid yet; she still likes me ;) Part of me is still waiting for the dream to end… we’ll probably see each other again next weekend at the earliest; crazy lab hours.

HAL showed up Wed. nite; he and I are (sort of) moved in. A carpet steamer guy is scheduled to come in this evening just came in this evening, so for now all our stuff is stacked up in the basement and kitchen (off the carpets). The intarwebs are in theory coming on Wednesday to fill that throbbing void in our lives right now. We decided it is probably not worth the effort to set up a machine and internet connection sharing/forwarding in the corner where we can pick up the neigbor’s unsecured wireless for only a couple days’ surfing. We’re still stuck with Crapcast right now as FIOS is not available on our street yet. (But it’s offered in select places in Medford already! Come on, FIOS….)

Does anyone remember playing house as a kid? You know, where you’d have this pretend household with (possibly) pretend children, and pretend issues, etc., and you’d pretend to be grown-ups and everything like that. My babysitter loved this. Well, the last few days felt kind of like that. HAL and I planning out how to hack the cable tv what furniture and where, MythTV…saturday we pulled weeds and hoe’d in preparation of planting a garden; yesterday HAL cooked a nice dinner of stir-fried noodles, while I sponged the cruft out of the kitchen cabinets and added pots and pans. It feels just like playing house, playing at being grown-ups, until the reality slowly trickles in that this is all for-real in my actual house. It’s kind of a weird feeling, squicking me out from time to time.

Crap, once we unstack all the stuff from the kitchen I have to go back to the apartment, clean it up and fetch the rest of my stuff.

BTW, who (ahem, besides GJM) saves an entire huge box of dead incandescent light bulbs?

…and coming back

So, I get into work Monday morning, dive immediately for the coffee machine to get a pot started, and get allllmost fully seated at my desk when one of the Mechies calls up with “Tim, you’re here! Um…can I come over?”. These are some of those words you just love to hear, like when a girlfriend says “we need to talk…”. Normally people just prariedog their heads around the corner, visually poll for a human and start gabbering; they don’t ask formal permission to enter. Something is up.

Sure enough, in pops Mechie with a dire emergency. I guess Friday or so, one of the lab’s two production routers (again, the mechanical, jigsaw cutting kind, not the computer kind) blew a controller box, and they sprang into action, disemboweling an almost-working spare in a misguided effort to fix it by replacing parts at random. By the time I showed up Monday morning, someone had removed the Y axis motor (stripping out one of the screws in the process) and took the Y axis ballscrew assembly apart, liberating some several dozen ball bearings all over the floor. Really, a ball screw is kind of like one of those novelty peanut cans full of spring-loaded snakes, except instead of snakes, it’s loaded with dozens to hundreds of little ball bearings instead. So yeah, dozens of these bouncing all over the floor, probably not to be seen again.

I get downstairs and Ozo Support Guy is down in the lab waiting for us. I guess someone called him up in desperation Friday and said to book a ticket for Wed. (presumably after an EE could look at it), but he grabbed the first red-eye to be here early Monday morning instead, so here he is. I thought that was a bit cheesy, but on the other hand, it took him all of about 3 minutes to diagnose the problem and have the machine functional again (about long enough for me to come back with a scope expecting possibly hours of debugging), pulling the control box from the spare. $1200 consulting bill later, we have a (mostly) working machine again, just needing to be sort of trial-and-error realigned as Mechie pulled the leadscrew/Y stepper/index wheel off this one too, completely screwing up the factory calibration. (The index wheel is a part that helps the machine determine its home position. After being removed, fiddled around and reattached in an arbitrary position, “home” may be up to a full leadscrew rotation off of where it’s supposed to be…) Something tells me it’s going to take a lifetime of chasing to get Mechie to corral the ball bearings and put my Almost Working spare back together. In fact, something tells me it’s not going to happen within my lifetime (I either end up fixing it again myself, else relegating the whole project to the Fuckit Bucket.)