Re-post: Awesome Sauce Tinkering (Fondant Is Gross)

I wrote this post at my other blog, before I started this more tech related one, so here is a link to the original, and the post has been copied below in its entirety. This came back across my radar when I had to set up another inbox for another new email for me. (Don’t ask).

Fondant Is Gross: Awesome Sauce Tinkering

—–

The things you discover when you noodle!

I have two gmail accounts and I have recently been using the second one a little bit more, such that, I have need to actually monitor it a little closer. For silly reasons, like people generally finding it rude if you ignore their emails and fail to respond for a month. (Shocking, I know!)

Although Google does have an “add an account” capability, that allows you to run two Google accounts in the same browser, there are some hiccups when it comes to using other Google services. I don’t use the other services very often on this secondary email, so I wanted another solution that would do what I really want Google to do. What I want Google to do, is for a user to be able to use the multiple inbox feature to have multiple gmail inboxes in one screen, not just divide your inbox by labels, filters or what have you.

So. My solution.

First, I went into the settings[1] of the second email (example@gmail.com) and set up mail forwarding to the first email[2] (me@gmail.com). I also set up the forward to automatically mark forwarded email as read[3].

After following the steps to verify that I own both accounts, I set up a filter in me@gmail.com with the “to” parameter as the address of the example@gmail.com. This filter automatically labels all forwarded email and archives it as soon as it hit my inbox.

 

Make sure you select to apply the filter to however many matching conversations have already been forwarded from example@gmail.com, or you’re not going to do an easy search based on the label/filter later.

Here is where the magic happens. Enter settings, labs, and enable multiple inboxes on me@gmail.com. You should look through some of the other really cool stuff the labs team has done. Like, ridiculous amounts. I’ll wait. Ok, now, make sure you scroll all the way to the bottom and click save.

Then, go back into settings at the “Multiple Inboxes” tab and delete the automatic fields that are there and enter label:example in Panel 0. I want the second inbox to be below my me@gmail.com inbox, so I select that option and click save.

Then more magic happens. Click on “Accounts and Import.” Then under “Send mail as” I added example@gmail.com, and verified (again) that I owned the accounts I was trying to send mail as. After that is verified, then a fancy little thing shows up.

You can reply from the email that the message was sent to. So, for instance, I get an email to example@gmail.com, and I get it at the me@gmail.com address through the system I just set up. I can click reply while still in the me@gmail account, and it will send the email as though I am signed in as example@gmail. Without signing into the other account. Ever. Brilliant. And, if you click compose, in the “from” field, it automatically enabled a drop down that allows you to choose which email address you want to send the email from.

There are still some issues to work out, for example, handling the email that is sitting in example@gmail.com, marked as read. I suppose it will have to be a learning process where I add filters for incoming mail as I get it, so gmail can delete it if it’s X, or archive it if it’s Y, but once that is all settled, it’s going to be a nice little operation.

Another issue is that the only way for me to no longer see the messages in the second inbox for example@gmail.com that I have read is to delete the label that was assigned to them upon landing in my inbox, or delete the email itself, which I may not want to do.

Google does all kinds of awesome stuff, so hopefully they will come up with a solution for the issue. Or just make this work-around redundant by enabling what I just did with two clicks and a verification in multiple inboxes!

Speaking of awesome, have you checked out Google Keep yet? It’s like Evernote and Google Tasks had a baby.

More awesome is the program that I used to create these screenshots, Snagit.

Full disclosure, Adam works at TechSmith, and Snagit was used for the creation of these lovely screen shots. The heinous editing is all mine, however, and I was not compensated in anyway for this post by Google or TechSmith for the use of Snagit or the plugging of their stuff. I just think it’s awesome.

More disclosure, I also work at TechSmith. And I still love Google Keep. Some of the improvements they’ve made are AWESOME.

Lessons Learned: Trello Edition

It’s been a long, long while since my last post, but I recently gave a talk on the lessons we learned using the API that Trello provides. These are broad lessons about what would make Trello work for our team better, and how we hope to move forward.

This talk was given at TechSmith’s internal conference, ReCon, on 6 October 2014. The blurred out sections are just me covering my own bum, and protecting TechSmith’s interests.
If you would like to get more information on the code we wrote, you can go here, here, here, and see Clark’s talk here.

Enjoy!

The Devil in Ruby — Installing Gems

I traveled to Chicago last Thursday to meet up with Mike for some pairing, as well as attending 8th Light University on Friday.

We were going to use my laptop for the pairing when Mike discovered a problem with my Ruby install. The gems hadn’t fully installed. While my computer re-installed everything, we used Mike’s computer to build a coin changer program. Once we got rolling, my brain finally started wrapping around the syntax of Ruby and all it has to offer.

My computer and rvm weren’t so lucky.

The install of rubygems failed again.

It continued to do so even after I completely removed rvm and started from the very beginning several times. (Side note: I find it hilarious that to uninstall rvm the command is ‘rvm implode’!) I did some googling around trying to find different uninstall and reinstall options for rvm, ruby and gems to work my way around the issue.

One of the biggest problems I had while searching this error was that when I search the error in its entirety nothing shows up.

This error has been the bane of my existence for the last 18 hours or so:

There is no checksum for ‘http://production.cf.rubygems.org/rubygems/rubygems-2.1.8.tgz’ or ‘rubygems-2.1.8.tgz’, it’s not possible to validate it.
This could be because your RVM install’s list of versions is out of date. You may want to
update your list of rubies by running ‘rvm get stable’ and try again.
If that does not resolve the issue and you wish to continue with unverified download
add ‘–verify-downloads 1’ after the command.
There has been an error while trying to fetch rubygems.
Halting the installation.

Eventually I used the information found here and here to get around the issue. I tried several of the options at both places to no avail, but when I did the steps from the two combined, I had success!

So, first, you’re going to want to start over.

  1. Remove rvm and ruby.
    • Run one at a time:
      • rvm remove ruby
      • rvm implode
  2. Re-install ruby and rvm (towards the end of the command running it will prompt you for your admin password)
    • curl -L https://get.rvm.io | bash -s stable –ruby
  3. Reload rvm (if you try and skip this step the terminal will make you do it anyway, so just do it.)
    • rvm reload
  4. Install another (failing at gems install) run of 1.9.3
    • rvm install 1.9.3
  5. Run a fix to install the gems
    • rvm get head && rvm-smile
  6. Install the latest gems
    • rvm rubygems latest

At this point is where you should use ‘gem list’ to see that it (and any other gems you’ve installed) are there. I did not use this command, which caused me to freak out because I thought I was getting the same error as above, and that did not make me happy. I spent the weekend diving into a rabbit hole that didn’t exist.

You code, you learn.

I’m glad (although a little pissed) that it was user error and my steps above worked!

How was your weekend?

Grace Hopper Celebration of Women in Computing – A WRAP UP!

Whew.

What an adventure! My first Grace Hopper conference has come to a close. I am writing from the Minneapolis Airport, gate F10, where I am thinking about the whirlwind that the last few days have been.

It has been a very inspirational four days. Being surrounded by 4,600 other technical women is a boost for me.  Although I know that there are other women in tech, I don’t see them in person as much as I see men in tech. My husband’s entire team (save for two amazing women) are men. So many prominent people in tech are men. But I think we can change that, and I am really excited to be a part of making that change.

I wanted to share what I learned (or what I was reminded) over the last four days.

1. Women are awesome. AWESOME.

2. Women don’t negotiate their salaries enough and most often they are paid $6,500 less than their male counterparts – and that’s just starting salary.

3. I learned how to use Google Glass, and I had the opportunity to play with it. The wifi wasn’t working in the career fair center, so I didn’t get to use it in that capacity, but it was fun. I don’t know if I will ever want to own a pair, but it was fun to play with.

4. getraised.com. Fabulous resource. I had an opportunity to meet Matt Wallaert, one of the minds behind the site. He is a great speaker and I really enjoyed his lightening talk and speaking with him after. One of my favorite things that he said during his talk was, “Telling me that I care about feminism because I had an awesome mom is like telling me I only care about racism because I have black friends. And that is fucking bullshit.” I love that, we need more fantastic men helping women advocate for themselves and advocating for them when they can’t or won’t do it for themselves.

If you get the opportunity to see him speak, do it, he is a very energetic, engaging and funny speaker.

5. When speaking to a client about their product, write it down and follow up after the meeting via email to keep everyone on the same page. The human memory is faulty.

6. The Mall of America is huge. That has nothing to do with the conference, but I’ve never been there before, so that’s something I learned.

7. There is a very diverse opinion about MOOCs. Not all good, either. But I like them, a lot. They are an excellent resource to learn something new.

8. Brenda Chapman.

9. The TSA likes my Box shirt. Always a good thing, right?

10. Always talk to every company at a career fair, you never know where your next opportunity might present itself.

11.  Networking is EXHAUSTING.

12. Don’t forget to have fun!

There is a lot to learn by attending conferences, and I am really glad that I went. It helped, in a strange way, to combat my impostor syndrome. I hope it sticks around.

Cheers!

Learning Ruby — The Beginning of Another Journey

For the last year and few months, I have been learning a new field – really learning – not just playing like I had for the previous many years. I had dabbled in web development, even having my own (terrible and never updated) website. I only ever seemed to know how to get myself in trouble, but not how to get myself out. Now, I’m trying to learn as many different ways to get myself in trouble — and then get myself out!

In the last year and change I have learned C, HTML, CSS, php, MySQL, JavaScript, jQuery and now I am learning Ruby.

How did I get to Ruby?

Almost two months ago I applied for an apprenticeship at 8th Light, a company in Chicago. I managed to progress to an interview with Mike, after submitting several iterations of a TicTacToe program in JavaScript.

Unfortunately, I was not in a place in my coding journey to be offered a position at this time.

BUT(!) Mike is kind enough to have offered to personally mentor me, which I have accepted. Mike suggested that one of my next steps would be to learn straight up Ruby (not Ruby on Rails, just yet).

Over the last week I have been working my way through the Ruby Koans to help learn Ruby through test driven development. Two birds with one stone, as it were!

The format of the koans was a little difficult for me to pick up at first, but once I got the hang of that, I really started to enjoy them.  One of my favorite parts of the koans are the little bits of advice just above your progress bar. The best one is “sleep is the best meditation.”  I got stuck towards the beginning of the koans, it was late, and that was the mantra above my progress bar. So, I went to sleep, woke up the next morning, and it just clicked. Since then, I’ve been going through the koans and understanding most of what I do, if not, I have Google, StackOverflow and Mike.

I look forward to sharing my coding adventures here, and I am glad to have you along for the ride!