Archive for the ‘Work’ Category
Wrote an installer to download and unzip git repos from the internet. Someone else baked it into another installer, claiming that it was in there; running it seemed to produce no network traffic, but the files showed up. Suspecting they had merely downloaded the files and baked them into the installer (defeating the whole purpose of the exercise), I fired up WireShark and saw no traffic – they said I was Doing It Wrong. Fine, cleared all of my caches, unplugged the network cable, ran installer. Files showed up. They’re now “looking into it”.
In WireShark I trust.
Coworker was talking about his neighbors complaining that when his dad moved out, he didn’t sell to someone within his minority. I said if it bugged them that much, they should have bought his unit. “That’s what my dad said!”
Now I’m reminding coworkers older than me of their parents. I should think young thoughts.
My former employer, PhotoRocket, just sent out the long-expected “we’re closing the doors” email. It’s a hard, under-served space – photo sharing. I still think the problem we were solving needs solved, but the people writing the checks didn’t see PhotoRocket having enough adoption to make funding it worthwhile.
You might think I’m being snarky, since there is a seemingly never-ending torrent of photo sharing sites, but none of them captured the nub of what we were about. Maybe someday.
I’ve linked to it multiple times, but Feynman’s Appendix F to the Rogers Report should be required reading.
For a successful technology, reality must take precedence over public relations, for nature cannot be fooled.
For software testers out there:
To summarize then, the computer software checking system and attitude is of the highest quality. There appears to be no process of gradually fooling oneself while degrading standards so characteristic of the Solid Rocket Booster or Space Shuttle Main Engine safety systems. To be sure, there have been recent suggestions by management to curtail such elaborate and expensive tests as being unnecessary at this late date in Shuttle history. This must be resisted for it does not appreciate the mutual subtle influences, and sources of error generated by even small changes of one part of a program on another. There are perpetual requests for changes as new payloads and new demands and modifications are suggested by the users. Changes are expensive because they require extensive testing. The proper way to save money is to curtail the number of requested changes, not the quality of testing for each.
If you’re working in a git workspace for a while, you might end up with a dependency change that doesn’t make sense.
c depends on b depends on a (merged)
Now, you want to push c for review but when you do this, b will be pushed as well. Use rebase to undo this:
git checkout c git rebase --onto b a
using the SHA (or tag, or whatever).
If download and try to run a Powershell script (or type one up and try to run it), you’ll get an error about unsigned scripts. The usual solution is to set a default policy of “do any damn thing”. Instead, I made a cmd script to do this:
doit.cmd: powershell line.of.powershell.script powershell another.line.of.powershell
Basically, the cmd shell script takes a bunch of hashes and downloads zip files from cgit, expands, and rejiggers them. Here is the one liner that is the core of the script.
I did not know this feature was built in since Vista. Excellent! Now to find an OS X equivalent…
Sometimes you create a gerrit change that you shouldn’t have, and abandoning the change isn’t good enough.
The other day I created a couple dozen. I followed these instructions and it worked just fine – your gerrit account will need to have sql access, though, so not just anyone can pull the trick off. This trick works for any pending changeset, not just abandoned ones.
To prevent linkrot, I’ll reproduce the instructions here. I’ll assume it’s changeset 123 patch 1 you need to delete.
ssh GERRITSSHALIAS gerrit gsl
update changes setstatus='d'wherechange_id='123';
update patch_sets setdraft='Y'wherechange_id='123';
ssh GERRITSSHALIAS gerrit flush-caches --cache changes
ssh GERRITSSHALIAS gerrit review 12
I ran this over all the stuff I accidentally posted and it worked as described.