I’m a software engineer at OkCupid. I live in NYC and I did batch[2] of Hacker School. You can find me on GitHub and Twitter, among other places.

February 3rd, 2013

I wish Gmail had an archive view

The problem

I wish that archiving in Gmail worked better for me. It’s an awesome concept and it shows up all over the UI. Only being able to find archived mail in All Mail, though, has become a problem.

My own All Mail view is dominated by public mailing lists, notifications, and my inbox:

Mailing lists and notifications
Archived mail
Most of the messages in view are notifications or from mailing list. A few are messages in my inbox. Only two are archived and not filed under any other label.

Work is similar:

Almost every message in view is feedback. Two are commits. No archived personal email is visible.

Finding a recent, relevant email in All Mail is super hard! Writing searches gets tiring fast.

It turns out that there’s a big difference between my mail with at least one label (Inbox, Feedback, Alerts, NYC OKWS User Group, etc.) and mail that’s archived with no labels at all. Archived mail is personal and has a low enough volume that it’s useful for searching and browsing in a way that the firehose of All Mail is not. Unfortunately, Gmail doesn’t provide a way to search or see only archived mail.

I want a view of archived mail

So I made a label called Archive1 and stopped archiving messages in the Gmail sense. I move them to the archive when they have nowhere else to be. It makes me feel dirty but in it, baby, I can find things! Both browsing and searching are a pleasure because I never run into mail that skipped my inbox in the first place.2

The system works with a couple of pitfalls: It’s possible for a message to be orphaned in All Mail (where I won’t look for it), and it makes Google’s Gmail clients harder to use since they have more and easier ways to archive conversations than than to move them to a label3 (though it plays nicely with the Archive button and keyboard shortcut in newer versions of Apple Mail).

I would love a proper Archive view in Gmail which showed only unlabeled messages. I’d also love it if it were visible to IMAP — it would be super pleasant to have that view exposed instead of All Mail, which overlaps with everything else.4

If I’m misusing something or you have any thoughts or ideas, email me.

  1. Interestingly enough, Gmail doesn’t let create a label called “Archive”. I made one through IMAP which shows up in Gmail as [Imap]/Archive

  2. This is an oversimplification. At work, important alerts hit my inbox but I move them to an Alerts label after I look at them and rarely need to see them again. 

  3. That reminds me of one way IMAP is more flexible than the Gmail UI for organization (and Gmail’s IMAP implementation supports it). It lets you file messages in a conversation separately. If a thread starts with an alert email or on a mailing list and continues off-list, I can and move the responses around without sucking the originals along behind them. Apple Mail supports this amazingly well: it shows the whole thread but gives a darker background color to the messages that aren’t in the current mailbox or search results. When you move a conversation it also only moves the in-view messages, not the parts of the thread that it found in other mailboxes. 

  4. One potential problem: If you move a message from, say, the inbox to the IMAP archive mailbox but that message also has other labels, what happens? For me the best behavior would be for it to lose the inbox label but keep the others, and to disappear from the archive mailbox right away. That might be unexpected and nasty for other people, or it might be easy to get used to. I’m still thinking about it. 

September 22nd, 2012

Directory history for your shell

Bash’s directory stack is great but incomplete:

What if your browser didn’t have a forward button, only a back button?

Your browser lets you go back after you navigate somewhere, and forward again if you change your mind. Bash doesn’t do either. The pushd and popd builtins give you a back button but no forward button. I fixed all that:

$ cd foo
$ cd ../bar
$ b
$ f

It’s a set of Bash functions. You can find them on GitHub right here. Let me know if it’s useful or if you have any suggestions on how to make it even awesomer.

September 2nd, 2012

Make some passphrases, already

tl;dw: I made a Python script that generates passphrases.

$ pw
child gold myself experiment

$ pw -n 5
rising cat immediately example
dirt alone truth thus
difficult weak minute butter
pan proud shelf join
among shade exercise so

$ pw -l 8
vegetable aside plate development while sport electric chemical

$ pw -s  # For things that don’t like spaces

It uses Python’s random.SystemRandom (which pulls random data from /dev/urandom) and a list of common words from this website, just like passphra.se.

It’s on GitHub: Sidnicious/pw.

March 14th, 2012

Am I more or less likely to cancel if you make it easy to do so?

Here’s a message I just sent to a big-name credit monitoring service as part of a we’re-sorry-you-cancelled survey:

I was still in the trial period — when I first signed up I looked around the website to find out how I could cancel, if I wanted to, and I didn’t find anything. There was no button in my account settings, there was nothing in the FAQs or the help section about how to do it. I searched around online and found out (from other websites) that I had to call in and talk to someone during business hours.

Products that make it so much more difficult to cancel than to start using them make me uncomfortable.

I like paying for stuff online. I think that when I know I can cancel a subscription service really, really easily I stick with it longer — the option’s always there, any hour of the day.

But that’s a huge guess. I wonder if there’s an accepted answer?


February 19th, 2012

Subject: Signing gnupg keys

Got this email out of the blue and I have no idea what to make of it. I asked in the #gnupg IRC channel on Freenode and got little insight. Not being at all familiar with Spain’s ID card system doesn’t help.


I’m looking for people who sign my gnupg key. It’s a hard job, but i found a method to make Virtual Keysigning Party. Here at Spain we have an ID Card with a x509 certificate inside, this certificate is provided by my goverment with the control of the police, so this certificate is full legal and it’s like handmade signature.

I would ask you if you may sign my public key with this legal proof. If you agree i send you a PDF file with my asc pubkey inside signed with my legal ID Card.

Do you agree to sign my pubkey with this method?

Feel free to delete this mail or answer no.

Thank you.

I’m very curious whether this guy’s intentions are pure and, if not, what he’s trying to do.

November 27th, 2011

Bookshelf perspective

I just finished putting all the books I want on my bookshelf back on my bookshelf, and I decided that I should take a picture of it. It’ll be cool to look at it in a few years and see which new books have showed up, and which old ones I’ve finally gotten rid of.

But, there’s a problem: you never look at a bookshelf from only one spot! You step back and stand on the tips of your toes to look at the high shelves, and you bend down to look at the low ones. It’s nicest to look at each book straight on.

So, how do you take one picture of a bookshelf? You could get very far away from it. But, my room isn’t nearly big enough — if you take a picture from the opposite wall, you’re still clearly looking up at the top shelf, and down at the bottom shelf.

A scanner has many image sensors across its width, and by moving (scanning!) the paper, or the sensors, down its length. As a result, a picture taken by a scanner has no perspective. It sees everything straight-on! But, I don’t have a giant flatbed scanner.

You could get the same effect by taking many pictures with one scanner and stitching them together — that would take a lot of work, and I wanted something a little bit quicker. So, instead, I took a few pictures of my bookshelf with a regular camera. I got as far away from it as I could, set my camera up on a tiny tripod, pointed straight at the bottom shelf, and took a picture. Then I switched to a bigger tripod, raised it up, and took a picture from slightly higher. I did this a few more times, raising the camera up all the way to the ceiling. Then I stitched them all together in my computer.

The result is pretty cool — a picture with normal perspective in the horizontal direction (you can see the inner sides of the left and right walls of the bookshelf) but with very little in the vertical direction (and the perspective is strange — you’re clearly looking up at some the books on the left side of the bottom shelf, but you can see the tops of the books on the top shelf!).

June 29th, 2011

Bugs everywhere

May 3rd, 2011

The little bug in the laundry

I went to do laundry today, and I saw a tiny, reddish-brown speck sitting, right on top, on a shirt. And it moved.

I took the shirt upstairs, grabbed my camera, and started taking pictures. Well, it was lively, and it was determined to get down, underneath that shirt. And eventually, I let it, and it crawled around on the glass of the table, and I could watch it from underneath.

I took the shirt away, and took more pictures as it edged closer to the edge of the table. I shouldn’t have been surprised when it dove off, down into the thick carpeting. And I shouldn’t have been surprised when it burrowed in.

And I must have looked ridiculous with the vacuum cleaner hose in my hand, with the shirt stretched over the nozzle, sweeping the carpet, trying to catch that little guy. I must have sounded crazy, muttering to it that if only it would let me catch it, I’d take it outside, let it go, and never bother it again. But after a few minutes, I had to let it go, and go put my clothes in the laundry.

And I started thinking about how we’re a race of beings who have a deep desire to impose order on the world, who gain deep satisfaction from looking around at our homes built to our specifications, and seeing everything where we mean it to be. And it sucks, because the world isn’t like that. There are other creatures living in our houses, and when we see them we try to kill them, or move them, or keep them out. But there’s a limit to what we can do — there are still creatures too small to see, living in our houses, living in our clothes, in our hair, on our skin, and even inside us. And we get so uncomfortable when we see something new, which was always there but we were better off not seeing, because there’s nothing we can do. And that’s OK, becuase it makes the world so damn interesting.

March 13th, 2011

Trying to touch pause oh damn it we’re back at the beginning

December 19th, 2010

Free app updates in iTunes

The word “free” appears five times on the iTunes Store’s App Updates screen, plus once per app.