I normally have very, very weird dreams, ranging from "makes a Tim Burton movie look like Mary Poppins" to plain, old absurdity. Typically I only recall little bits and pieces, or maybe small vignettes, or bits strung together from multiple dreams. I had a really wacky/almost scary dream last night that I remembered most of pretty vividly.
We were living in our current house, but it was also in a lot of ways like our house in San Diego. The "setting" was similar, if that makes sense. Todd and someone else (Stokes?) from our old web hosting company S4R came to stay with us for a little while. I guess Todd had sold a bunch of stuff in order to finance a business involving a new website idea (in my dream Todd was pretty insistent that nobody had ever done ANYTHING like this before, and so we'd make a mint on an untapped market if we could move fast). But he needed help with the programming and backend stuff. He and Wy were going to handle the art side of things. This is not at all dissimilar to a situation that very nearly came to pass when we both worked at S4R around the turn of the century.
Now, some people may know this already, but it bears repeating as I believe it directly relates to the other major component of the dream. Shortly after moving in the neighbor lady was talking to Tracy over the fence and they got to discussing the previous occupants of our house. Not entirely savory, apparently. Thick-headed bartender types who liked to have parties which featured really loud hip-hop music until 6am weekday mornings. Cops came often, drugs, people screaming at each other in the street, that sort of thing, in our extremely quiet neighborhood.
So neighbor lady casually mentions that one time she was out doing yardwork and happened to spot some bikini-clad young women on this tall rock mountain/water feature thing we have by the pool. She goes in for a closer look and wouldn't you know that they're filming a porn movie, right there in our backyard, with naked people and everything. I laughed myself silly when I heard that.
So in that context we have Todd and another S4R type person living with us, all set to launch this new business from our house, and ready to make our fortune -- but with a sense of urgency. I'm going to help in my off hours/weekends, we're going to set up servers in the spare room, everything is being arranged and so to kick things off, we just need to register the domain name.
Which domain is that? Oh, that'd be "weremilfs.com".
No, that's not a contraction of "We are MILFs dot com". That's "weremilfs" as in "werewolves". Like, "Highly attractive yet more than slightly lycanthropic young mothers with whom one might desire relations".
I've been turning it over in my mind all morning. The website business idea, that's easy. Todd's always had a lot of ideas, and we almost started up a website. The porn aspect? Definitely comes from the Jackie Treehorn deal that went down in our yard. The MILF thing? No clue. Maybe because everyone in the neighborhood is in the 30-50 range? Lots of families? Good a solution as any: the website idea, mixed with a porno, mixed with the neighbor lady type (who, for the record, I've only seen twice and from a distance; I harbor no desire for her, and indeed am not even sure if she's actually a mother). The werewolf aspect, now that's the stumper. The rest isn't too hard to piece together, but how do you wrap it all up in a werewolfy bow? It just doesn't fit.
Here's the kicker: The recollection of the dream ends there. I recall typing in the letters "w-e-r-e-m-i-l-f-s-.-c-o-m" into a whois search, seeing the "No match for domain" message, having the realization of the website's nature dawn on me, and... that's it, no more dream. Where the hell did the werewolf thing come into it?! I'm annoyed that no explanation came forth in dreamland. I don't know if I woke up or what, but I really wanted to ask where the idea came from.
Dream analysis is not for me.
Big Windy was a blast as always, even though I only got up there Saturday morning (friggin' work). I actually got to shake R. Lee Ermey's hand and talk to him. I was having him sign a book for my uncle John (during which time I not only failed to get him to sign something for me I forgot to get my picture with him) and started chatting with him:
Me: "You having a good time, Gunny?"
Gunny: "Oh, I always have a good time when I come out here and see you people."
Me: "Well how could anyone have a bad time with sweet full-auto music like that playing in the background?"
Gunny: (As he hands me the book) "You got that right, son. Ooh-rah!"
He's exactly as salty and crusty and cool as you'd expect him to be. But he was also really, really nice and open. He signed a couple nerf guns for the kids in the lane next door, and didn't mind one bit that everyone wanted to stop an get their picture with him. He was mobbed sometimes. Everyone expects him to shout everything, but he's actually kind of soft-spoken.
At one other point later on in the day, he saw me carrying some ammo between the trucks and the firing line as he was walking by looking kind of lost. He pulled me over (and called me "son" again; I'll be 42 next month so that was sort of nice of him) to ask if I knew "where the guy selling those cigars was... he was right over here someplace..." I told him I wasn't aware that anyone was selling cigars, but that I had a few with me and he was more than welcome to have a couple if he'd like. "Well, thank you and I appreciate the offer," he said, "but these are, ah... 'special' cigars."
So apparently the dude likes Cubans. Fair enough. But all I have are Montecristo knock-offs from Honduras. (I learned along time ago that one does not take $15 cigars to the outdoors unless one wants to waste a lot of money). But I reckoned they were still smokeable: "Well, Gunny, if you can't find your guy and I've got the only cigars on the hill, then mine will be pretty special!" He kept looking around for a couple seconds and finally said, "You got a point. I may be back to see you" and then he walked off. I assume he found his hookup because he didn't come back.
He used 30 caliber shell casings for hearing protection. The guy's just too badass...
A guy on a board I frequent asked:
Probably a stupid question, but what's the difference between development, testing, staging and production servers?
I had some time while I was eating my salad at my desk, and penned a reply:
You have code, code which works and is in production. Now you get a bug report, have to add a feature, whatever. So you start a branch of the production code on the dev machine, and get busy writing.When you want to make sure that code does what it's intended to do, doesn't affect any other parts of the app, etc, you move it from the dev machine to the testing machine. There you poke in whatever ways are necessary or mandated by company policy. QA and devs also get a chance to poke at stuff here.
Once the code is verifiably working (and doing no other harm), it is frozen (no more enhancements, bugs fixed, etc) and it is moved from testing to staging. This is where you invite a few end users (the rest of your group, including some no-tech folks most probably) to test drive the changes. Stuff in staging is basically "in beta". URLs are fairly stable, the apps don't go up and down because you're restarting things all the time like on dev or testing, etc. Depends on where you work, but another security review might also happen here. You might also have to bring in a release engineer or configuration management guy at some point during this stage.
Once you know everything is 100% ready to go, nothing is going to break, people love the new features, everyone has signed off on the release, you move from staging to production. You don't forget to let your admins know that the app is going to go down for a minute, lest they get paged. And because you care, you have looked at traffic patterns and are doing the production integration at your absolute off-peak, to minimize impact on end users. Thankfully, you were mentored by the King Of CYA, and have a rollback plan should it be necessary to "downgrade" to the last rev of your production app. The code it integrated, QA does their smoke tests, and if it all works, you ask the admins to keep an eye on it and then you go home and drink it off.
That's a perfect world. What actually happens is that some bozo has shit running out of his home directory and because it's "in production" you need heavy duty earth movers to get it on a real server since mgmt doesn't realize that it's flaky. All they know is that "it's working great now" and they can't risk any downtime. No amount of technically correct reasoning can convince the VP of sales that it's just fine to move his customer-facing app. He'll veto your arguments by saying to the CEO, "Bob, you know I trust the IT guys, but I just don't see how we can risk losing a customer because the app is down..."
The guy who built it quits, and stuff breaks left and right, because an undocumented "feature" was that the guy copied files around every morning to keep things working. Or his /home/luser directory was archived and deleted when HR terminated his employment. So now you have a bunch of guys copying shit off tape, only to find that it's not all there, permissions are whacked, there were other necessary files in /usr/local that the app needed, whatever.
Or maybe the guy does like in the story and runs crap off his workstation. He doesn't bother using source control, and instead just uses a very intuitive sequential numbering system. Or the final executable is happily named "app-working.exe" so that everyone knows it's the good one that should be in production. He could also just append dates to the app name. That's really helpful, since the last rev is always the production copy.
The best part about the above scenario is that the guy's desktop box will wind up living racked up sideways in a datacenter, in a cabinet nicknamed "the graveyard" by the NOC staff. Nobody knows how to restart it should power get shut off, so the admins taped the top of a water bottle over the power button and put a note on it. It'll be known as "The Dell Desktop Machine You Don't Ever Touch" and folks will be more than happy to pretend it doesn't exist (and that it's lesser-quality desktop power supply stays running, those little fans on the motherboard chips don't get clogged with lint, etc).
Once the "Little Workstation That Could" does go down (and it will, believe me, it will), there will be no less than 8 admins -- some of whom are very senior -- who will spend around 6 hours to bring it back up correctly and test it very roughly. The total cost in man-hours and downtime work out to roughly 1/35th what it would have cost to move it to a real server environment and gin up a little documentation and redundancy. But because they couldn't risk the downtime, you recall, they never did that.
So once it's "fixed", the senior IT guy there shoots off angry emails calling the VP of Sales an ignorant twit, and he wants that desktop shit outta his datacenter but pronto, thank you very much. So a committee is formed and all sorts of buy-in gathered, opinions solicited, outcomes predicted, tasks delegated.
Months later, nobody has touched the thing because anyone with a clue knows that the box has cooties and they don't want the blame for causing outages (Sales VP has a temper AND plays golf with the HR manager and CFO, natch). Besides, the guy who got the duty of migrating the app was the most junior, and the machine was running an OS he's not familiar with the app written in a language he didn't know. He muddled around for a few weeks trying his best to make progress and "show status" before moving on to another job that's actually mentally fulfilling. So everyone's forgotten about the little box (the NOC guys more so than anyone pretend there's empty where it's racked) and so that's why nothing ever got done.
Then it goes down again...
And that's my story of how IT works. Like it?
There's all manner of cool stuff at Plan 59.
...it would be a device that allows me to travel through a normal phone line and slap someone silly.
I just got off the phone with a guy who said, "Well, linux doesn't handle memory well... it's not even really an operating system because it swaps all the time". Of course, he pronounced the word linux "LEYE-nucks", which merely adds to the WTFness of what he said.
I've stopped job interviews short because people have mispronounced the name. If you've worked with it in the slightest, you have to know how to say it since a conversation about the system is very likely unavoidable. So it's either conscious effort or ignorance that would cause you to say the name wrong, which is why I'd bounce people who get it wrong. It's evidence that they don't know (or refuse to learn) what they are talking about.
It's probably no surprise that I don't the guy's statement in very high regard.
I came across a tiki site that has links to just about every tiki anything. Cool stuff!
I found it refreshing that it occurred to me that I could put up my last post with the notion that someone else might be spared some headache later on down the road. I had it drilled into me at Google that the less you say online about anything work-related, the healthier your career would be. Sure, the official party line is "we're all openness and puppies and happy geek sunshine", the reality is much different when it comes to blogs. It didn't help that a new employee got canned because of his blog right before I started there. That set the mood for sure. And it instilled a little paranoia.
The official blogging policy (yes, there is one; I suspect it got put in place about 30 seconds after that guy was fired) is a strange document to read. When I first got there, I naturally wanted to post news, thoughts, stuff, etc, since people said they were interested and were always asking questions (many of which I couldn't answer). And by "post stuff", I mean in a very careful way: no posting secret stuff, financial stuff, private stuff, etc. But after reading the blogging policy, I realized that I should really not post any stuff at all.
Almost every paragraph in the blogging policy has the "written by an PR flack, approved by a corp lawyer" feel about it. And almost every section is heavily qualified. Sections start off with stuff like "While we realize that you want to share your thoughts about Google with the world on your personal blog, and while we -- as a company -- officially support that, we also realize that people sometimes say more than they intended..." (Or some such; it's been a while since I read it, and I only read it that once, so that isn't a direct quote or anything). Bottom line is that it's carefully written so you come away thinking that they aren't saying no, but they aren't exactly saying yes either. You ask yourself "Can I still write in my blog?" and take the policy's answer as a "yes", and it's all on you if you post about something besides the family vacation.
Basically, for work things, they say you can talk about what you had for lunch, but not who you had it with, what was discussed or for how long, etc. In other words, you can talk all you want, as long as it's about nothing at all interesting (which, I suppose, ought to suit most blogs just fine). Who wants to read a post about "Today I ate with John Doe #7; we had the quail's eyeballs and duck confit"?
So I could put up a blog post saying my name, title and the group I worked for, but I couldn't say anything about my job, as 97% of it dealt with proprietary stuff the names of which aren't even public knowledge. And there's nothing at all wrong with that. They have every right to restrict the flow of private information outwards. But the overall tone of the blogging policy there seemed very "Oh, hey, if it's not much trouble, consider just not posting anything at all, OK?"
For all the openness at the company, they are intensely and fiercely private. There's so much press (well, used to be, I guess) about new products and such that they were absolutely petrified about leaks. They have a very, very carefully crafted public image, and do not want anyone from inside contradicting that. Again, fair enough, and no hard feelings; I had no problems with their policy. But the net effect is that this site withered on the vine, as did my urge to write about anything personal. I had considered shutting it down entirely. If it weren't for the few times I had searched through it to find something, I probably would have. I wasn't afraid of losing my job, per se, it just that it was far easier to say nothing for no risk. Since work touched a lot of my life -- and why I was living in the bay area to begin with -- saying nothing meant that I wouldn't inadvertently stray into an HR/PR minefield.
Anyway, shortly after I thought "Hey, there's no other info on the web about that weird error, maybe I should put up a post about it!" came the thought "I wonder what else I could have written down that would have been helpful or interesting later?" I expect a few things.
Hopefully someone finds that last post useful. I know I get a lot of hits from people searching for stuff like that I've posted in the past (had a few emails thanking me, actually). I'll try to do more of it. (And I'll also try to get the comments thing back. I know both of you are just itching to leave comments...)
I recently has to extract some information from an Urchin 5 installation, munge it a little, and then save it. The tool one normally uses for this is a (not very well written) perl script provided by the Urchin folks: u5data_extractor.pl. When running it using the instructions at the top, you'll find that you can't run it. Or, rather, you can run it, but it won't produce any data for you. All you'll manage to get is a cryptic error, for which there aren't any explanations: "Urchin CGI Report. Error Encountered (1000).". As you can see from the Google search results, there's not a lot of help for explaining what a "1000" error is (until this page is indexed, I guess; at the time of writing there are only 3 results for that query). I suspect it's a generic error condition, sort of a "just couldn't make it happen, dude" thing, but I could be wrong. Irrelevant, since I got it to work.
Here are some tips:
- Make sure that you alter lines 47-51 to match your install. Double check the $report variable against the vid of the report you want to export (you can find out what vid value you need by going into the Urchin 5 GUI and mousing over the report name link on the left of the screen).
- Try not to look at lines 63 and 67. Trust that those date strings will wind up properly formatted. Just be sure to specify an --end param that is actually the same or after the --begin param, since funky dates will get you no valuable error message at all (not from the script or from Urchin itself).
- Change line 117 from this:
if ((!defined $reportset) || ($reportset eq "")) { $reportset = "Standard"; }
To this:
if ((!defined $reportset) || ($reportset eq "")) { $reportset = "Basic_All"; }
- Change line 181 from this:
$ENV{QUERY_STRING} = "vid=$report&bd=$begin&ed=$end&v=$max&rid=$rid&lang=$language&x=1&user=(admin)";
To this:
$ENV{QUERY_STRING} = "vid=$report&bd=$begin&ed=$end&v=$max&rid=$rid&lang=$language&x=1&user=(admin)&dt=4&dtc=0";
- Make sure you run the script as the same user who runs the Urchin 5 install. There's some weird permissions issue someplace, but I didn't bother to track it down.
Overall, don't bother reading the error messages (if any). In th course of getting it to work, I added a bunch more error checking to our version of the script since the default one is pretty awful in explaining what went wrong. If you do all of the above and it still isn't working, go view the report you want to extract in the GUI. Note the vid values, etc. You can also try setting/tweaking your shell's QUERY_STRING environment variable to what the script wants to use and calling urchin.cgi directly in order to quickly try new values.
The dodgy script, cryptic error message and lack of any information on the web caused me a few hours of unnecessary grief, and so anyone with a similar issue should be able to find some help here.
...it's Christmas Eve and I'm at work. I want to poo in someone's stocking. That is all.
So I finally learned what was wrong with my suppressor. The last time I shot it, I noticed that the mount (the rear part that screws on the the gun) was hitting the guide rod, turning the Sig into a single shot. (The slide couldn't go back as far as it needed to in order to cycle a round fully.) In other news, when I went to remove it after shooting, the mount stayed with the gun and the rest of the body screwed off. Not good. The things is supposed to stay completely sealed. In fact, taking it apart voids the warranty. I had a hell of a time removing it. I couldn't do it at the range since it was too hot to handle. Even when I got home, I had t use pliers. And even though I was extra gentle, used a cloth, etc, I still scratched the anodization. That made me unhappy.
I wrote Gemtech and asked what I could do about the single-shotedness and the detachable nature of the mount. Turns out that the thread depth of the Sig P220 Combat TB barrel is shorter than the more standard 1911 or Glock threaded barrels (0.450 overall length vs. 0.375" OAL, in fact). So it'll screw on to the Sig, but it'll screw on too far. You don't notice it until the first couple dozen shots, as the barrel and suppressor heat up during shooting and require you to tighten it periodically. Screwed on cold, that little difference in depth isn't felt, unless you were to put it on with a pipe wrench or something. Once it heats up and you keep screwing it on, you've got a single shot pistol.
They can put a new mount on for $50. Since I'll be going to a shorter one, I'll still be able to shoot it on the new threaded barrel I got for the 1911; it'll mean that there'll be a weensy little bit of thread exposed. Kinda weird the hoops you have to jump through to mail a suppressor, though. All manner of official business has to happen.
I'm happy about this, to be honest. It worried me that the mount screwed off. I don't want anyone to think I took it off intentionally in order to monkey around with the insides. I think that's illegal unless you're a Class 2 manufacturer. Also, making it easy to take off means that it'll be easy to put oil and such in there for added muffling goodness.

