Bacon, Alcohol, Tobacco, Firearms, Explosives

Things I love

Archive for the ‘Work’ Category

On metadata

I worked in ITG, Microsoft’s internal technology group (AKA operations) in the mid-late 90s, as well as Microsoft’s internal security group. ITG owned the internal USENET server; it was run on a machine under someone’s desk (maybe not literally, but it was recycled hardware well behind the current state of the art hardware). It did just fine – until it didn’t. It was falling over under extreme load, which it shouldn’t have. Looking into it, it was clear one user was downloading huge amounts of child porn via USENET. I was one of the few UNIX guys in tools, so it fell to me to add specific logging to see exactly what this guy was up to.

I saw the logs, which consisted of username, timestamp, subject, and file names (since these were UUENCODEd or MPACKed, this was a simple grep-like operation). That’s it. I didn’t see the pictures, videos, or any of that – I saw subjects and filenames.

I was really fucked up by this experience. I don’t know how cops handle this. Maybe I’m a wilting violet and should have just manned up and powered through it, but it disturbed me.

I write this article as a sidecar to a tweet from yesterday where I complained about how graphic people are on MSN Messenger when they don’t think anyone is looking. Nothing I read there was obviously illegal, but it was depraved.

The end of the story was conviction for two of the people involved. Trying to find that article led me to another – I imagine this is an evergreen issue.

About these ads

Written by Ry Jones

21 March 2014 at 7:00

There is no evidence to support that claim

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.

Written by Ry Jones

24 February 2014 at 7:00

Posted in Work

Blockbusting

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.

Written by Ry Jones

23 February 2014 at 7:00

Posted in isms, Work

That’s that

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.

Written by Ry Jones

19 February 2014 at 7:00

Posted in PhotoRocket, Work

An appendix everyone working in engineering management should read

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.

Written by Ry Jones

17 February 2014 at 7:00

Posted in Heroes, Work

Breaking the chain

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).

Written by Ry Jones

12 February 2014 at 7:00

Posted in Work

Side-stepping Windows secure-by-default configuration for Powershell

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.

Written by Ry Jones

11 February 2014 at 7:00

Posted in Microsoft, Work

Multi-time-zone clock on Windows

Written by Ry Jones

6 February 2014 at 7:00

Posted in Microsoft

Removing gerrit changes that are not merged

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';
\q

then:

ssh GERRITSSHALIAS gerrit flush-caches --cache changes
ssh GERRITSSHALIAS gerrit review 12
3,1--delete

I ran this over all the stuff I accidentally posted and it worked as described.

Written by Ry Jones

4 February 2014 at 7:00

Posted in Work

I loved that TANDEM NonStop could do this

Nice to see freenixes catching up on process checkpointing. CRIU and DMTCP are two efforts to do this in user space. With TANDEM, you could checkpoint and migrate processes across nodes trivially.

Written by Ry Jones

26 January 2014 at 7:00

Posted in Work

Follow

Get every new post delivered to your Inbox.

Join 45 other followers