Available for Work as of April 3

Hi Everyone!

Just wanted to let you know that I’ll be taking on freelance work starting on April 3rd. I’m looking for small to medium sized projects. I love:

  • Jekyll
  • Frontend Development
  • Style Guides/Design Systems
  • Teaching Flexbox and CSS Grid

I have limited availability, so I can only take on a few projects. Go to hire.ttimsmith.com to find out more. Can’t wait to hear from you!

🖖🏽

Self-Doubt and My Interview With Shopify

Helen Tran wrote an awesome article for fem-designers-in-tech:

Self-doubt is healthy in doses but be careful what story you are telling yourself. Self-doubt is a mechanism to help you gauge what’s real not to over-exaggerate anxieties. Self-doubt is, “Hmm, I should think about this a little.” not, “I am terrible at this.” This is many steps too far in the wrong direction.

Her advice struck a cord with me, so I wrote her an email:

Hey Helen!

Loved this article! I’m not a female, but I find this article to be excellent advice. I’m a Latino, and I started in this industry really young. I was 15 when I got my first job. I turn 25 this year. I struggle with every point you talk about here.

I honestly believe this is why I didn’t get the job at Shopify. I didn’t sell myself in the interviews and instead I came off as inexperienced and unsure about learning new things. I constantly sell myself short. My lack of belief in myself leads to lack of belief from others. I’m determined to change that this year. I’ve seen people with much less experience advance way quicker than I have.

Anyway, all this just to say thank you. This article may not be written for me, but it sure does help.

-tim

In case you didn’t know, I interviewed with Shopify in January. They flew Kelly and I out to Toronto for an awesome 4 days. All my friends said a variation of the same thing:

If they’re flying you out, they must really want to hire you!

I doubted. Something told me that I’d screw this up and they wouldn’t end up hiring me. Still, we had a great trip. Kelly and I looked at apartments, ate amazing food, and fell in love with the city. We began to imagine what our lives would be like in Toronto, and it was pretty exciting.

We flew back to Minnesota, and all my friends and family were eager to know how it had gone. I thought the interviews had gone pretty well and I’d foolishly gotten my hopes up. A couple days later, I received the call.

We’re moving forward with other candidates.

In film you’ve seen this moment. The character hears the important line and the rest just becomes muffled. That’s kind of how this moment felt. It might just be that I’m a very emotional person, but I don’t remember the rest of the conversation. I was too busy dealing with the increasingly large knot in my throat. I do remember saying thank you, then hanging up.

I was devastated. I cried. I really wanted the job. I wanted the change of scenery. Deep down, I wanted the validation of a company like Shopify being interested in me and my skill set. I spent a few weeks moping and being sad.

Once the emotion cleared and I could actually think about it, I realized it was partly my fault. I’m sure there were many factors involved but one of the biggest is that I sell my own self short.

If I don’t believe in myself and my skills, how is anyone else supposed to? I do this constantly. I undersell my expertise, and what I can bring to a team.

I often still feel like that fifteen year-old that’s just getting started. So many moments where I feel like a fraud about to be discovered. I’ve gone to extreme lengths to prevent people from knowing how old I am. I always feel them finding out will invalidate anything I’ve said or made. The ageism I’ve experienced along my career has only served to reinforce that feeling.

Like I said in my email to Helen, this is the year I decided to change this. I’ll be speaking at a local conference here in the Twin Cities and have started to send proposals to many others around the globe. I’m also writing a lot more about development and design here on this site.

I’m done letting these insecurities win. I’m done trying to get validation that I shouldn’t need. I’m me and I’m awesome. If you’ve felt like this, I hope you join me and follow Helen’s advice.

Vacation to Las Vegas

Dear Reader,

On Sunday, I’ll be traveling to Las Vegas for a week. While we’re in the area, we’re going to visit the Grand Canyon, the Hoover Dam, but most importantly, In-N-Out. For the uninitiated, In-N-Out is a magnificent place with burgers full of wonderfulness and deliciousness in every bite.

Regular posting will resume on March 20th. Have a great week!

🖖🏼

Week in Review: March 10, 2017

Greetings, you fine-looking people!

This week was a busy one with a lot of news. I didn’t have enough time to write about each of them so I’m putting them all together in one post á la Katie Floyd. Here are the stories that were interesting to me this week:

  • Reflecting on One Very, Very Strange Year at Uber by Susan Fowler
    This one happened while I was out with a cold. What a massive mess. Uber, time and time again, proves that their culture is toxic in all new levels. HR is shown to be useless, and I find it baffling that anyone would think they could get away with this. I’ve deleted my Uber account and their app from my phone, and I’d advise you to do the same. Their complicity in this sexual harassment cannot be tolerated.

  • Firefox 52 and Chrome 57 landed in the same week, and with it, CSS Grid support in both of them. CSS Grid is no longer behind a flag in two major browsers, and you should be learning it. Jen Simmons’ article will point you in the right direction. Micah Godbolt’s post is great too. I also recorded a video on making a portfolio layout with CSS Grid. I’m excited to see all the new things we’ll do.

  • No-Pressure Blogging by Manton Reece
    This sentiment from Manton spoke to me. I struggle with the feeling that my words or ideas aren’t good enough to write. But the truth is, not every post is going to be revolutionary. Honestly, I still haven’t published mine. Who knows if I ever will. That’s ok. It’s a blog post and as long as I’ve documented something for myself and helped a person or two, I’m ok with that.

  • Why I Left Mac for Windows: Apple Has Given Up by Owen Williams
    I hadn’t noticed how much Apple has ignored the Mac. Some of the features that I love about the Mac and have made it great for me were introduced back in 2012. It’s sad. I’m not about to switch to Windows, but if nothing changes, the switch may be inevitable.

  • Just Another HTTPS Nudge on CSS Tricks
    Chris Coyier outlines a scary scenario that drills home the point on HTTPS. We should all be using it. While Let’s Encrypt has made the process easier, enabling HTTPS and renewing certificates is not as pain-free as it should be.

  • The Trouble With Cross Posting by Jonathan Hays
    I’ve been doing a lot of research into microblogging these days and one of the biggest frustrations is not being able to cross post effectively. I’m looking forward to seeing Micro.blog fix this.

Hope you had an excellent week, and have a restful weekend.

MacBook Pro Running Hot

How to improve performance and prevent early death

I’ve had an interesting history with my MacBook Pros. Most of them have needed to go in for service and have the logic board replaced under warranty or recall at some point during their lifecycle. Call me naive or whatever, but I’ve had a big breakthrough in the last few days that may make this a thing of the past.

Performance Issues

My current MacBook Pro is one generation old since the Touch Bar MacBook Pros were released. I picked it up in late 2015 so it’s around a year and a half “young” now. Late last year I started having performance issues with my MacBook. At times it would feel sluggish. Writing code (as I do) was painful. The computer was so sluggish, my text editor couldn’t keep up with me. I usually work in an IDE that does a lot of code evaluation and makes me aware of issues or problems, lints my code etc. That was even more painful. Sometimes I’d shut my system down and wait 5 minutes and come back. That would often fix the issue for a bit.

The issues have continued to the point where it’s difficult to get work done. One thing I noticed was that this mostly happened when I had an external display plugged in, as I often do.

I began to suspect problems with my GPU and I’ve been on the verge of taking the computer in to the genius bar. The genius bar is so hit or miss these days though. To top it off, I wasn’t confident I could replicate the problem for the technicians.

Monitoring System Temperature

Finally, last week, through the coaxing of a friend of mine, Derek, I purchased, downloaded, and installed TG Pro. TG Pro allows me to (among other things) monitor fan speed and temperature of various internal components of my system.

I found that everything was very hot overall. Not overheating, but hot. And, consistently, when the temperature was very high is when things would be sluggish and hard to work with. The system was throttling itself down to protect itself.

I knew prior to installing the software that the fans ran pretty much full blast constantly because I could hear them. In my mind, that’s just the way it’s always been. It was annoying, but the price I payed for having a system I could take anywhere at any time.

Cleaning It Out

I thought to myself, why would the system be running so hot? So, with the fans running full blast and the system so hot, I felt around at the airflow intake and exhaust. I couldn’t feel much. Not a great sign. I’ve only had this computer a little over a year, but it must be gummed up with dust and gunk, so I’ll just take the bottom plate off and blow it out, right? Wrong. Keep in mind I haven’t had the need to take the bottom plate off a MacBook Pro since the systems aren’t user upgradeable anymore. I was more than a little irritated to discover that Apple now uses Pentalobe screws to secure the bottom of the MacBook Pro. Because I’m apparently a bad geek, I don’t have a tool to work with these stupid screws. So I purchased one and waited 2 days for my Amazon Prime order to arrive.

After unpacking the new screwdriver, I removed the bottom of my laptop and was horrified to discover that my laptop was gummed up in a major way.1 It took me at least ten minutes with an air can and some TLC to get this thing cleaned out. I don’t work in dusty or strange environments, but I guess it builds up over time in those small spaces.

Running Cool(er)

After putting my system back together and running it for a few hours, the difference was astounding. The performance issues I’ve been struggling with for months were completely gone. The fans hardly ever ran more than about half speed, and I could feel the air moving through the intake and exhaust when they were running. Temps were down a good 15° F.2

A Laptop Cooler

Armed with this knowlege and information, I’ve taken an additional step to increase the life of my system and keep it running cooler. I mostly use my laptop like a desktop, while only occasionally taking it to work offsite, a convention, meeting, or what have you. So I purchased a CM Storm SF-17 Gaming Laptop Cooler for my desk. It’s a bit of a beast, but it just sits on my desk, and my computer sits on it. The fan is barely audible, and my system fans hardly ever run now. According to my temperature monitor software, I gained another good 7° F to 10° F cooling.

Moving Forward

I have a pretty decent GPU in this system. It’s a AMD Radeon R9 M370X with 2 GB of VRAM. But, while it’s a good GPU, I believe it’s prone to running hot. Combined with the gunk in the system, it was all a very bad combination of situations for a bad outcome. I plan to blow the gunk out at least once a month now. Combined with my new laptop cooler, I’m hoping to keep this system around much longer without GPU failure—which has been so common for me with Mac laptops in the past.

The moral of the story? Kids, take the back off your laptop and clean it once in a while. Consider a laptop cooler to keep your laptop running even cooler if you work at your desk a lot—and particularly if you use an external display. I believe you’ll increase the lifespan of your system if you do.

  1. I can only hope I have not done permanent damage or majorly shortened the life of this system—I’m not made of money. 

  2. Sorry, I can’t think in Celcius. I’m a stupid American. 

Another Way to Avoid Writing Unnecessary :last-child’s

The Lobotomized Owl Selector

About two weeks ago, I wrote a post on how you can use :not in your CSS to simplify life. Lots of people really liked the article, and I’m so glad! This method is pretty awesome.

One of our readers, Miler, wrote in to point me to this article that talks about the “lobotomized owl selector”. Funny name, but a fascinating approach, and quite honestly, way better.

In short, Heydon Pickering advises the following:

* + * {
  margin-top: 1.5em;
}

This particular approach makes so much sense, and I encourage you to read the full article. Essentially it adds margin only to the elements that have adjacent siblings. Heydon also uses the em here (which has its pros and cons) and demonstrates why this particular unit can be the right choice.

If we go back to the original example, each .post would already be correctly spaced, but to add our border, we’d do this:

.posts * + * {
  padding-top: .5rem;
  border-top: 1px solid #eee;
}

This only eliminates one line here, but possibly hundreds throughout our codebase.

As always, if you have questions or would like to discuss send me an email.

Filming Begins on Han Solo Star Wars Story

Here’s another one I missed while under the weather. From StarWars.com:

Cameras are rolling on the adventure-filled past of the iconic scoundrel and everyone’s favorite Wookiee; principal photography on the untitled Han Solo Star Wars Story officially began February 20 at Pinewood Studios, London.

The movie will explore the duo’s adventures before the events of Star Wars: A New Hope, including their early encounters with that other card-playing rogue from a galaxy far, far away, Lando Calrissian.

How exciting! I love how all these spin-offs are exploring backstory we’d never known before. Together with the announcement was the first cast photo too.

First cast photo of the Han Solo movie

The Han Solo movie comes out May 25, 2018.

Learn CSS Grid by Jen Simmons

Jen Simmons:

I am starting to see a bunch of simple introductions, link-baity false-narratives, and weirdly-wrong ideas to creep into the conversation about CSS Grid. They are not as helpful. Frequently they are actually wrong. Let’s please share the best work with each other — not exclusively work done by men because it seems more respectable / more authoritative / more bro-awesome! And especially, let’s not pass around the work published by people who simply copied Rachel’s work, badly, with mistakes.

Jen compiles a spectacular list of suprisingly mostly-free resources to learn all about CSS Grid. You can also keep an eye on the Grid Layout tag, since I’m trying to write as I learn how to use it. If you’re on the fence about learning it, please don’t be! CSS Grid is an amazing tool and will soon make our lives so much easier, opening up new creative opportunities for our layouts.

Star Wars: The Clone Wars, Season 1 | Retake

Familiar but animated characters everywhere — some liked, some not. The Clone Wars series brings us the great Obi-wan Kenobi, the mediocre Anakin Skywalker, and the terrible, awful, Jar Jar Binks — the worst thing to come from George Lucas mind. On this episode of Retake, Tim and TJ will analyze the first season of Star Wars: The Clone Wars.

You know how much I love to talk about Star Wars. This time, TJ Draper and I sit down to talk about The Clone Wars, a excellent TV series from 2008 you should definitely watch.

Under the Weather

Hello Dear Reader,

This past week was a sucky one for me. I got a cold. You know how it is when you get sick. You don’t want to do anything but sleep. Well, that was basically my week.

I’m feeling better now, so you’ll see some new writing on the site. I’m playing catch up so, you’ll see some stories from last week I wasn’t able to get to.

Hope you’re having a great day, and as always, thank you for reading.