(Sidney San Martín)

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
Inbox
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:

Feedback
Commits
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
~/foo
$ f
~/bar

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
fogdinnerreceivehigh

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?

Tagged