2010-05-17

Zenoss Swap Threshold Fixes

One of the recur­ring prob­lems I have with Zenoss is fix­ing the swap thresh­old issue. Basically, if your swap space is less than 1G, you’re stuck with an alarm inform­ing you that there’s less than 1G of swap total. The options are to hack it to increase the thresh­old (by decreas­ing the minimum-free thresh­old), or to make the alert use a per­cent­age of the total.

Posting it here since it’s the sec­ond time I’ve had to find this…

Be the first to comment on this...


2010-03-20

Excel Beta 2010

I’ve got Excel 2010 Beta installed on my PC at work, partly to play around with it, partly because I need some­thing to do all the myr­iad spread­sheets I’m required to do.

As before, Excel 2010 allows you to open mul­ti­ple work­books with that mad­den­ingly weird pseudo-MDI inter­face that is always a lit­tle jar­ring. I know the point of the taskbar short­cuts, and I know how they’re imple­ment­ing it. Doing so changes the taskbar from a win­dow man­age­ment tool to a doc­u­ment man­age­ment tool — albeit incom­pletely because the same doesn’t apply to sub-documents on non-Microsoft appli­ca­tions. In the end, it’s just an irri­tat­ing adjust­ment from a work­ing men­tal model to a bro­ken one.

But that’s not actu­ally the stu­pid part. No, the stu­pid part is that there’s a sin­gle, global undo his­tory. Yes, that’s right, all your doc­u­ments share undo his­tory. In prac­tice, this means you can use­fully edit one spread­sheet at a time. It assumes that your life is a sin­gle stream of changes, and you want to rewind that life to a par­tic­u­lar indis­tinct place in time. In my own usage, that isn’t the case. My life is a series of par­al­lel streams of changes, and I want (read: need) the abil­ity to rewind any one of them to any given point in time, and Excel has appar­ently bro­ken this on pur­pose — at least, I don’t remem­ber this mad­ness from 2007.

It’s hard to talk about this with­out also dis­cussing the Ribbon, and why the sit­u­a­tions are dif­fer­ent. Non-geeks who got used to muscle-memory-ing1 through the old Excel were upset with the Ribbon, because it meant that their care­fully crafted train­ing was use­less — it’s like being switched to Dvorak. I per­son­ally like the Ribbon, because it let some­one like myself, who’d never used Excel for any­thing before 2007, learn and use the tool. You break how peo­ple find fea­tures, more peo­ple can find features.

But this isn’t the case with break­ing how a par­tic­u­lar fea­ture works. IMO, that’s just dumb.

  1. it’s a word because I say so.

Comment on this...


2009-05-03

Web Applications

Reading the utopi­anism of world​chang​ing​.com after watch­ing a TED talk from the founder of it, I tried cal­cu­lat­ing car­bon foot­print more accu­rately than I had pre­vi­ously. Catching up on missed blogs, I’ve got­ten myself going on dopplr a moment ago, fol­low­ing a Lessig commenter’s idea to use it to cal­cu­late car­bon for off­set dona­tions — which is a pretty cool, IMO.

I’ve been using Tasque for a cou­ple weeks now and it’s extremely use­ful for keep­ing myself orga­nized. The only down­side was the lack of instant-access to it unless I’m sit­ting in front of my lap­top. Trying to rem­edy that I signed up for RTM and got their MilkSync to work with my Crackberry, so the tasks I enter on my lap­top end up on my phone and visa-versa.

Sigh. Being impressed with sync is very ten years ago…

I was sort of on the fence about the count­ing calo­ries thing, at least until I saw the WeightBot screen­shots, which sold me on the idea: eat­ing healthy to look bet­ter and live longer? Meh. Eating healthy for the sake of a new toys? Win.

Unfortunately WeightBot is only for the iPhone, which I don’t (want to) own, so that rule that out. Instead I googled for online tools and came up with live​strong​.com, which has a “MyPlate” thing that keeps track of all this, along with “X food has N calo­ries” and such. It also has a Blackberry thing for enter­ing all that as well that’s on the “Blackberry App World”.

The upshot? App World is a gigan­tic ripoff of Apple’s App Store, and some­thing they should have had from the beginning.

Be the second to comment on this...


2008-10-16

Daemonizing Processes

Update: Commenters have pointed out a few things:

  1. This post is incomplete/incorrect. What I’m doing now is hav­ing the daemon func­tion call a script that looks like this:
    #!/bin/bash
    exec 1>&-
    exec 2>&-
    exec 3>&-
    nohup myPropApp & 2>&1 > thelog.txt

    That code was from another web­site who’s URL I lost, and I posted the solu­tion below based on another, alter­nate method that I hadn’t tried but sounded simpler.

  2. There are other options, like daemonize(1), setsid(1), and the bash builtin disown (which I had pre­ma­turely rejected as ksh-only).

Back when I was using Debian, one of the nicer things about it was their helper tool for startup scripts: start-stop-daemon. Particularly, it’s abil­ity to dae­mo­nize any process with the -b flag. You notice how handy things like that end up being when you’ve got an in-house or oth­er­wise pro­pri­etary app that can’t dae­mo­nize itself prop­erly (e.g. Java-based services).

Somehow I’ve man­aged to get away with not hav­ing to write a script that dae­mo­nizes a normally-foreground process on an RH-based dis­tri­b­u­tion yet, mainly because I’ve been using Debian almost exclu­sively for servers, and have only worked for tiny star­tups, where lux­u­ries like init scripts are the last thing on any­ones’ minds.

Everyone is famil­iar with the nohup & trick, but that still leaves it asso­ci­ated to a ter­mi­nal, so after you log out, your terminal/ssh ses­sion will just hang because stdin is still open. As it turns out, you can close your stan­dard in from bash first by redi­rect­ing your stan­dard input from nil (e.g. someapp <&-), and that will let it just work.

Very sweet for writ­ing initscripts.

Comment on this...


2008-05-04

Living with Telcos

Your net­work engi­neer orders four T1 lines from loca­tions in City A to a dat­a­cen­ter in City Z via a large telco. He leaves the week before these are to be dropped, and of course, does not doc­u­ment what he was doing or even keep copies of the contracts.

Either way, the lines are in the process of get­ting installed, and no one you have the con­tact with at the large telco can tell you the infor­ma­tion you need. The order man­ager “has no cross con­nect info”, and the sales sup­port engi­neer tells you to ask the order man­ager. Naturally, all the con­tracts and doc­u­ments restored from the e-mail back­ups sim­ply describe the datacenter’s address as the A-side loca­tion — with­out any of the specifics you’d need to order a cross con­nect from the datacenter.

Meanwhile, the installer is turned away from the Z-side loca­tion because they didn’t call ahead to sched­ule an appoint­ment. Call the Z-side build­ing man­ager and for­ward the infor­ma­tion required to get past secu­rity to large-telco. Large-telco tells you that mak­ing an appoint­ment in advance and pro­vid­ing the infor­ma­tion that secu­rity requires to get in is impos­si­ble. Somehow this location’s 6000 other pri­vate lines were installed through magic.

Moral of the story: However irri­tat­ing it is to trou­bleshoot some­thing through a reseller, it is far worse to get some­thing deliv­ered from a large telco.

Comment on this...


2007-09-30

Pong

I notice I tend to start blog posts like an awk­ward attempt to jump-start a stalled con­ver­sa­tion: “So, I was look­ing at…” or “So, I was doing X…” It’s a lit­tle cow­ardly on my part, afraid to just jump into some­thing with­out some sort of warn­ing — in this case, the word “so”. Either that or I dump some ran­dom self-referential crap.

I was panned by IBM for an acces­si­bil­ity posi­tion last sum­mer because I didn’t have a col­lege degree. Their loss/that’s OK, since they dropped all that work this June. A few months later I was cold-called by Google for a posi­tion in New York, but I umm-aaah-huh (flubbed) a ques­tion on the sticky bit so that fell through. (Within a month I could recite from mem­ory the appro­pri­ate sec­tion from the chmod man page.)

I didn’t take the inter­view com­pletely seri­ously, since I was to the offer stage with a job at a startup in down­town Chicago. I put up with the four-hour/day tran­sit time for a cou­ple months before mov­ing to the North Side with a co-worker from my campus-paper admin days and one of his friends. Our liv­ing room looks like a tor­nado hit on a dat­a­cen­ter, but since I’ve some­how man­aged to avoid step­ping on the numer­ous case screws, that’s cool.

I’m well into SA ter­ri­tory, filled with all the stan­dard hoari­ness of a layer-zero build-out — BTU/hr, VA, UPS — thrown atop our won­der­ful Xen setups, OpenVPN, etc. On the down­side, we’ve had a min­i­mal layer of man­age­ment intro­duced, com­plete with weekly sta­tus meet­ings and “action item lists” (a term I had fig­ured would be shamed out of exis­tence well before I got out of col­lege based on Palaniuk’s star power alone).

Life is good, but I re-discovered today that read­ing pgo is still more fun than all the social demo­c­rat blogs combined.

Comment on this...


2007-01-03

The Fool’s Only Teacher 3

Sometimes life works. Other times it doesn’t. Hopefully you get to the point where you can spot the “doesn’t” parts in advance…

  1. If you’re lucky enough to get a tech­ni­cal per­son call­ing you in for the inter­view, remem­ber to ask about a dress-code range. It’s uncom­fort­able to be pimp­ing a suit when the guy who wants to hire some­one is wear­ing a T-shirt and jeans.
  2. Remember how you aren’t sup­posed to lean back in the chair (if it leans back) dur­ing an inter­view, so you don’t appear overly relaxed or arro­gant? That applies dou­bly if you’re wildly over­dressed. Lock the seat-back if need be.
  3. Sitewide QuickBooks upgrades go smoothly, pro­vided that:
    1. You aren’t using roam­ing pro­files for any­one who needs to use the silly thing.
    2. You wait about three months from the Major.0 release for all the suck­ers to find the land mines.
  4. Related: Intuit tech sup­port has roughly the same reac­tion to the phrase “roam­ing pro­file” as your broad­band provider does to the word “Linux” — they only hear “null and void”, and then try to get you off the phone as quicky as politely fea­si­ble so their stats don’t suf­fer, even if you are just look­ing for enough infor­ma­tion to make it go on your own.
  5. Microsoft’s “Certification Authority” com­po­nent is a pile of shit, like every­thing else PKI-related, ever. I am, for exam­ple, con­vinced the openssl com­mand line can be used to open the 9th gate, if invoked properly.
  6. Fedora Core 6 will pre­tend to install itself onto an XFS par­ti­tion (either within LVM or not) if you use “linux xfs”, and then promptly eat it’s young if you try to boot it.
  7. Ubuntu 6.10 makes it much eas­ier to get Sun’s Java, MP3, Flash, fglrx and DVD play­back work­ing (sim­ply a mat­ter of check­ing the Restricted/Multiverse/Universe check­boxes in the GUI repo tool and reload­ing the apt cache).
  8. FC6 (and Debian Etch) let you cre­ate and install onto an LVM group from the jump, whereas Ubuntu 6.10 requires you use the “alter­nate” ISO image.
  9. FC6 + Xen + ATI’s fglrx bull­shit via Livna = b0rked. Though it’s a nice excuse to play with RPM packaging.
  10. Apache on Mac OS X will pre­tend your 18GB tar­ball backup is 1.8G when you try to down­load it via HTTP. The FTP dae­mon on OS X works fine, though the fire­wall will block incom­ing PASV con­nec­tion attempts even if you’ve selected the FTP ser­vice excep­tion in the GUI.
  11. The JRE (Sun 1.5.0_6) which comes with ZendStudio 5.5.0a will not ren­der win­dow con­tents when run­ning under AIGLX + com­piz on FC6, and the RE which ships with ZendStudio 5.2.0 is spotty under Xgl + beryl on Ubuntu. I’ve not tested with 1.6.0 or later revi­sions of 1.5.0.

Kinda sad how it devolved from use­ful infor­ma­tion into straightup whiny bug reports, isn’t it?

Comment on this...


2006-11-14

Whee

A few months ago, I was sup­posed to get some help on my job. Specifically, some­one to work on the .NET side of things, which would free me up to do the job I was actu­ally hired to do: PHP devel­op­ment. He wasn’t my first choice, but he was sec­ond, in large part because of his mas­ters degree and (minor) expe­ri­ence with .NET. In real­ity, though, find­ing some­one to do .NET CF devel­op­ment is a total pain, let alone on a startup company’s budget.

On his first day, he never arrived. I called and called, and three days later he informed me that he was in India on an emer­gency, and had asked a friend of his to return my calls if/when I called him. His “friend” never did, so it fell through. About a month after that, the first-choice can­di­date called me up out of the blue and asked if we were still look­ing for developers.

I said sure, and he came onboard for the same salary as choice #2 (the main stick­ing point for him the first time around). He was sup­posed to start on or about the first of November, though the owner and him had those con­ver­sa­tions and it was never quite clear what exactly was said as far as a def­i­nite start date (if any­thing was). So last Monday, I called him up, and he was in Austin. We worked out that he would start yes­ter­day at 8am.

He too, never showed up.

Five more mes­sages and 30 hours have passed since he was sup­posed to start work­ing here. Reading Glen Greenwald today, I come across this lit­tle tid­bit, which he quoted from an Associated Press story from Monday (empha­sis is Greenwald’s):

In court doc­u­ments filed with the 4th U.S. Circuit Court of Appeals in Richmond, Va., the Justice Department said a new anti-terrorism law being used to hold detainees in Guantanamo Bay also applies to for­eign­ers cap­tured and held in the United States.

Immigrants arrested in the United States may be held indef­i­nitely on sus­pi­cion of ter­ror­ism and may not chal­lenge their impris­on­ment in civil­ian courts, the Bush admin­is­tra­tion said Monday, open­ing a new legal front in the fight over the rights of detainees.

The story also goes on to note that the “test case” of this is a Quatari pro­gram­mer liv­ing in Peoria, IL (yes, that Peoria) — about an hour and a half south of my house. Nice that some geek is now sim­ply a test-case of Presidential TortureAlternative Interrogation Procedures, not a human being with a wife and four kids. If I were an immi­grant, I’d get the fuck out of the coun­try and not look back as well.

Of course, it’s also pos­si­ble that dude is just an ass­hole, and the whole “we can dis­ap­pear you” thing is just a coin­ci­dence. Not that it really makes the “we can dis­ap­pear you” thing much bet­ter, sim­ply less immediate.

BTW, where are the Democrats on this? Or was the plan to just get elected and let Bush’s phony “bipar­ti­san­ship” non­sense pre­vent them from actu­ally doing any­thing lest the media paint them as “Terra-loving San-Franciscamites”?

[Kinda sorry some­thing this snarky is the first post to PGO in months, but this par­tic­u­lar paranoia-kicker is a lit­tle close.]

Update: Turns out dude had a “per­sonal life cri­sis” that meant he had to stay in Austin, and would’ve called except for his dead cell­phone bat­tery. I guess Texas is worse than I sus­pected, since they appar­ently don’t have pay-phones or e-mail there either… *fume*

Comment on this...


2006-10-25

Micromanaged Zombies

I come into the office early this morn­ing, in the hopes of get­ting a head start on the back­log I’ve got:

  1. Finish refac­tor of My First PHP Project to take advan­tage of what I’ve learned since I wrote it, be doc­u­mented, and gen­er­ally just stop sucking.
  2. Add needed fea­tures, like an XML-RPC interface.
  3. Switch to sub­ver­sion for MFPP.
  4. Put sub­ver­sion on CentOS3 pro­duc­tion server (more “fun” than it sounds).
  5. Switch pro­duc­tion to MFPP 2.0.
  6. Make Big Hairy Project inter­op­er­ate with MFPP over afore­men­tioned XML-RPC interface.

Naturally, before my lap­top even fin­ishes boot­ing (i.e. before it gets to the login screen), I get a call from a cus­tomer, who wants me to walk his sec­re­tary through the client-site instal­la­tion pro­ce­dure. Apparently their sysad­min has logged this per­son into her machine as a Domain Admin, but can’t be both­ered to visit our web­site, where the instal­la­tion pro­ce­dure for the soft­ware which needs to be installed is enu­mer­ated in painstak­ing detail — includ­ing such strange sub-sections as “New Installation,” and “Upgrading from Version 2.x.”

So they call tech sup­port. But since it’s well before 8, nobody else is here to field the call. So I have to walk a sec­re­tary through the instal­la­tion procedure.

And by walk her through it, I mean, quite lit­er­ally, walk her through it. “Open a web browser” “go to xxxxx​.com” “click on soft­ware” “click on this”, down­load this, lis­ten to her read all five “Welcome to the Blah Blah Blah InstallShield Wizard” screens. Completely. Tell her to click Next fifty times. Explain what the lit­tle “under­line” but­ton in the top-left cor­ner of the screen does.

What I mean is: come on! Someone took the time to write out instal­la­tion instruc­tions for each lit­tle page. I per­son­ally took the time to write out three pages of instruc­tions cov­er­ing mul­ti­ple instal­la­tion sce­nar­ios, detail­ing what you need to down­load, and why. I even have tables with frig­gin’ pic­tures of the hard­ware we sup­port along one axis, and soft­ware pack­ages along the other, just in case users can’t be both­ered to know the make and model of the piece of junk they lug around all day.

I don’t think it’s too much to ask that peo­ple read the fuck­ing things. But they get into this zom­bie robot mode, where they just spam my ears with wel­come screen ver­biage (yeah, it bugged me that much). Except they are human beings! What kind of fucked up bull­shit is this, where peo­ple will­ingly go all *dummy mode on*, and con­sent to becom­ing zom­bies requir­ing they be told when to click the “next” but­ton, or the “install” but­ton — when there’s noth­ing else you can do on the whole screen except “cancel”!

What I mean is: Jesus Christ on a stick! Hasn’t any­body ever tried to fig­ure shit out for them­selves? You know, read, com­pre­hend, act, instead of relay infor­ma­tion, receive orders, exe­cute orders. You’re sup­posed to use the machine, not become one.

Fuck.

And yeah, I know that the job was the sysadmin’s, and I could’ve spent thirty sec­onds giv­ing him the down­load URIs and hung up, rather than the first hour and a half of my day pre­tend­ing the per­son on the other end of the line is actu­ally human despite nag­ging sus­pi­cions I’m an unwit­ting par­tic­i­pant in a Turing test. In fact, I’m pretty sure the level of hand-holding needed is why the secretary’s login doesn’t have per­mis­sion to install soft­ware, even if this pro­tec­tion was neatly negated by the admin inten­tion­ally log­ging her into his account and disappearing.

Ordinarily, I don’t bitch. Except there is noth­ing in any of those screens that a ratio­nal, think­ing human being couldn’t have fig­ured out by sim­ply read­ing them. I mean, really, when “Installer X” tells you “Files are in use, close Program Y and click Retry”, I shouldn’t have to explain that you need to close Program Y and click Retry.

Unless you just want a voice to tell you what to do — in which case we can make you com­pletely humanoid by installing a screen-reader.

Be the first to comment on this...


2006-10-03

Designin’

Here’s an older web design from work (no before shots avail­able, but it was what you would expect from a Yahoo-hosted MS-frontpage site):

And here’s a more recent design, also from work (the site con­tent is unfin­ished, so no link yet):

[Dumoulin Farms Front Page Screenshot] [Dumoulin Farms Interior Page Screenshot]

The front page has build­ings which light up on mouse-over of either the build­ing or the cor­re­spond­ing link beneath the photo (it’s funky). IMO the design is a cut above the scaledealer​.com web­site, so it’s nice to know my skills are get­ting bet­ter, if only by my esti­ma­tion — I’ll link to it when it’s finished.

Be the first to comment on this...

Go backward in time