Mike Pinkowish http://mikepinkowish.com What's Up? Tue, 03 Jan 2012 19:51:52 +0000 en hourly 1 http://wordpress.org/?v=3.3 Goals for 2012 http://mikepinkowish.com/2012/01/03/goals-for-2012/ http://mikepinkowish.com/2012/01/03/goals-for-2012/#comments Tue, 03 Jan 2012 19:38:14 +0000 Mike Pinkowish http://mikepinkowish.com/?p=330 Continue reading ]]> It’s the start of a new year, and a time for new goals. My resolutions in the past have usually failed because I either didn’t write them down or wasn’t specific enough about them. This year, I’m going to start things off right with a list of specific goals:

  1. Run a 5 minute mile by December 1st, 2012. I don’t run enough and haven’t had too much luck in getting myself to run consistently. I figure if I give myself a concrete goal with checkpoints along the way, I might stand a better chance. I even created a dashboard to chart my progress: http://2012.mikepink.com/
  2. Don’t drink at home during the week. If I want to have enough energy to run, I shouldn’t drink during the week unless out of the apartment with friends.
  3. Climb a 14,000 foot mountain. I climbed Mount Dana (13,061 feet) back in October, my highest ascent. I want to go higher though. Mount Whitney (14, 505 feet) is the most likely right now.
I figure keeping the list short is a good idea, otherwise it’d be easier to lose focus on the after a while. Oh, here’s one of my favorite breakfasts from 2011, taken one morning at Prikið in Reykjavik, Iceland.
]]>
http://mikepinkowish.com/2012/01/03/goals-for-2012/feed/ 0
Words With Friends Solver http://mikepinkowish.com/2011/08/27/words-with-friends-solver/ http://mikepinkowish.com/2011/08/27/words-with-friends-solver/#comments Sun, 28 Aug 2011 02:05:44 +0000 Mike Pinkowish http://mikepinkowish.com/?p=326 Continue reading ]]> I’ve created a monster. It’s a simple webpage that shows you the best moves in Words With Friends and where to play them. I initially wrote it in JavaScript, but that approach had the major downside of forcing the client to download a 3 megabyte (uncompressed) JavaScript file containing the dictionary in trie format.

After travelling Europe this summer, I sat down at my laptop and ported the code to Node.JS. This is good because my Node process only needs to load the dictionary into memory once and can cache queries run against the trie. The scoring algorithm is accurate but very infrequently is off by 1 point – a bug that I’m trying to hunt.

Filling out the board involves typing your letters into the board. I’ve tried to ease the interaction of inputting letters by auto-advancing the board the editor based on your direction, but I think it’s being a little bit too aggressive right now. I may wait until the editor is advanced two spaces in the same direction before auto advancing.

Backspacing should probably reverse the auto-advancing direction on the first backspace, and then maintain its direction on successive hits. Typing a letter after a succession of backspaces might be a good trigger to reverse direction again, but I’m not totally sold on the idea.

Anyway, go cheat and find the best moves in your Words With Friends games.

The Words With Friends solver in action.

The Words With Friends solver in action.

]]>
http://mikepinkowish.com/2011/08/27/words-with-friends-solver/feed/ 0
My Favorite Burger: The Bacheffalo http://mikepinkowish.com/2011/06/01/my-favorite-burger-the-bacheffalo/ http://mikepinkowish.com/2011/06/01/my-favorite-burger-the-bacheffalo/#comments Wed, 01 Jun 2011 23:41:14 +0000 Mike Pinkowish http://mikepinkowish.com/?p=316 Continue reading ]]> I like grilling. I like eating food that’s been grilled. I also like sharing, it’s caring. So here’s how I make my favorite burger.

A Nommable Burger

What you’ll need:

  • 1/3 pound of ground beef
  • Some cheddar cheese
  • Cottage Bacon
  • Buffalo Sauce
  • Garlic Salt
  • A bun

Great, so now that you have those things, here’s what you do:

  1. Make your patty and sprinkle some garlic salt on the side that’ll face up on the grill at first.
  2. Grill the burger until it’s time to flip.
  3. Flip the burger, apply the cheese to the top.
  4. Place cottage bacon on grill.
  5. When burger is done to desired wellness (or rareness), place on bun, and top with cottage bacon.
  6. Add ample buffalo sauce on top of the cottage bacon.
  7. Place top bun.
  8. Eat it like you mean it.

While the ingredients I listed are fairly generic, good ingredients while make your burger tastier. Here’s what I specifically use:

There you go, enjoy.

]]>
http://mikepinkowish.com/2011/06/01/my-favorite-burger-the-bacheffalo/feed/ 0
Rules for Balancing Consumption with Production http://mikepinkowish.com/2011/05/09/rules-for-balancing-consumption-with-production/ http://mikepinkowish.com/2011/05/09/rules-for-balancing-consumption-with-production/#comments Mon, 09 May 2011 23:47:25 +0000 Mike Pinkowish http://mikepinkowish.com/?p=312 Continue reading ]]> Like I mentioned in my previous post, I need to set some rules for my month long experiment of trying to balance my consumption of good content with my production. After thinking about it for some time, here’s what I’ve come up with:

  1. I can read as many headlines on sites like TechCrunch and Hacker News as I want, but shouldn’t read the comments unless I plan on reading the article (and balancing that consumption with production), too.
  2. I can consume as much content on Facebook, Twitter, and Tumblr that I’d like, but shouldn’t follow links off of those sites unless I plan to produce.
  3. I’m going to count contributing thoughtful ideas and feedback on sites like Convore, Forrst, and Quora as production that can offset consumption. This production is a little less accountable than other types, but there arepeople who can help keep me accountable on those sites.
  4. YouTube videos are tough. There are seriesthat I like to watch regularly, and I wouldn’t want to give them up. My plan right now is to use content I produce on Convore and Forrst to offset their consumption. I am not going to require myself to produce additional content to reconsume YouTube videos.

So that’s what I’m going to try to work with for now. Tomorrow, I’ll hopefully get to work on some upgrades to the site depending on how many accessibility related tasks (which I find fulfilling) I can finish for Facebook.

]]>
http://mikepinkowish.com/2011/05/09/rules-for-balancing-consumption-with-production/feed/ 0
Consuming and Producing Content http://mikepinkowish.com/2011/05/09/consuming-and-producing-content/ http://mikepinkowish.com/2011/05/09/consuming-and-producing-content/#comments Mon, 09 May 2011 16:07:56 +0000 Mike Pinkowish http://mikepinkowish.com/?p=308 Continue reading ]]> The internet makes it so easy to consume quality content. From well-written and insightful articles and blog posts to excellent photographs to interesting coding project, there’s a bulk of easily accessible, quality content. This accessibility has allowed me to consume enormous amounts of good content. Sites like Hacker News aggregate content that is addictively interesting to me, and my friends (and Pages that I like) will post links to amusing and intriguing content, too.

Each time I consume good content, I want to produce good content of mine own. However, the immediate availability of more good content distracts me, and I continue to consume. Sometimes, I even reconsume the same content. Sites like YouTube allow consumption to be incredibly passive (watching a video versus reading an article) which greatly increases my likelihood to reconsume.

Now, however, I’ve reached a point where I have an incredible amount of pent up desire to produce content. Starting today, I’m going to try to produce as much good content as I consume. Consuming content on Facebook and Twitter is essentially involuntary every time I visit them, but if I can create 1 excellent photograph, 1 well-written or interesting blog posts, or 1 useful code project for each photograph, article, or project that I consume, I’ll feel satisfied.

This will no doubt drastically decrease the amount of content I consume, and I’m still on the fence as to whether or not I want to include Tumblr in the category of content that will limit my consumption. However, I’m really curious to see what the effects of this will be, so I’m going to try it for it month and go from there.

I have a few coding projects in mind that I want to get started on and 2 ideas for blog posts, so I won’t be totally depriving myself of content initially (I also did just write this post). But for today, I need to set some rules as to which type of content I should limit myself to and what counts as consumption (reading a headline vs. an entire article).

I have a feeling that this experiment will lead to some interesting results.

]]>
http://mikepinkowish.com/2011/05/09/consuming-and-producing-content/feed/ 0
Hackathon: RPI http://mikepinkowish.com/2011/03/19/hackathon-rpi/ http://mikepinkowish.com/2011/03/19/hackathon-rpi/#comments Sun, 20 Mar 2011 00:23:09 +0000 Mike Pinkowish http://mikepinkowish.com/?p=281 Continue reading ]]> A few weekends ago, on March 5th, I held a hackathon at RPI. Hackathons are essentially all night coding sprees fueled by energy drinks and pizza. Facebook holds hackathons a few times a year, and a decent number of features, like video uploads, have come out of hackathons.

Having loved my first hackathon at Facebook back in October, I decided to bring the hackathon to the RPI community and see if anything awesome would come out of it.

Around 8pm Saturday night people began gathering for the Hackathon, and following a quick room change (our first room lacked power outlets), things got underway. By 9, we had close to 50 people hacking away on their various projects. The atmosphere was pretty awesome. We had some background music playing, a trippy video on the room’s projector, pizza and Red Bull in the middle of the room, and a sea of people at their laptops.

The hacking gets going

The hacking begins

I spent my first few hours making sure the pizza was flowing, people had what they needed, helping some of the teams out with their projects, and doing a little work on my own hack. I spent a decent amount of time recalling what I’d learned in Database Systems junior year by helping a team integrate PostreSQL with their C++ (eventually C) code. I also gave some design feedback for a club management system and chatted with a bunch of other teams to see how they were doing. The first few hours flew by.

By 1 or 2am, a few people had left because they either had stuff to do the next day or were getting tired. By 3am, I counted 33 people still hacking. 4 to 5am was the real test of endurance. That’s the hour where most people decide whether or not they’re going to stick it out and probably is the hour when people are at their most tired. I experienced it during my first hackathon, and I felt the zombie-like state of exhaustion come over me again. We lost about 10 people in that hour.

After that, everyone stuck through. People were, to steal a phrase from The Social Network, wired in as the sun began to rise. At 7, I decided to wind down the hacking so the remaining 15-20 hackers would have enough time to present their hacks.

We went through 14 Extra Large pies

We killed 14 Extra Large pies

There were a bunch of awesome hacks. Here’re the ones I managed to get links to:

Hackathon: RPI was awesome. I want to hold another one in April, if I can find a good weekend. A lot of people told me that the hackathon was awesome, that they got a lot more work done than the normally would, and definitely would want to go to another hackathon. It was pretty awesome to hear people’s reactions to the hackathon. In fact, it seem kind of stupid not hold another one soon.

The survivors of Hackathon: RPI

The survivors of Hackathon: RPI

Thanks to Chris Coonrad in the CS department for handling logistics, Kyle Maggy for hooking us up with a ton of Red Bull, and to everyone who showed up and made Hackathon: RPI awesome!

]]>
http://mikepinkowish.com/2011/03/19/hackathon-rpi/feed/ 1
Random Thoughts http://mikepinkowish.com/2010/11/16/random-thoughts/ http://mikepinkowish.com/2010/11/16/random-thoughts/#comments Tue, 16 Nov 2010 07:30:12 +0000 Mike Pinkowish http://mikepinkowish.com/?p=275 Continue reading ]]> I haven’t blogged since the redesign. Not sure why. I have a decent amount of content to write about, but maybe not the time to write posts with the level of quality that I want to.

I’m thinking about changing some things visually about the site.  This probably won’t amount to a full redesign;  it’s more like a face lift, I think.  Some ideas floating around in my head: using #333 font on white, non-bold, but larger, headers, a wider layout, a thinner right column, a different right column, and a few other things.  I thought about switching to a serif font as the primary font face for my site, but I don’t think it fits.  Sticking with Nobile for now.

Also, I received and accepted a full-time offer from Facebook as a User Interface Engineer last week.  I’m really excited to be joining the team full-time following graduation (and a little world travel).  I’ll write more about what the UIE team at Facebook does and what I did at Facebook after my internship ends in a week.

]]>
http://mikepinkowish.com/2010/11/16/random-thoughts/feed/ 0
IE9 Detection and CSS Stylesheet Selection in WordPress http://mikepinkowish.com/2010/09/16/ie9-detection-and-css-stylesheet-selection-in-wordpress/ http://mikepinkowish.com/2010/09/16/ie9-detection-and-css-stylesheet-selection-in-wordpress/#comments Thu, 16 Sep 2010 07:40:37 +0000 Mike Pinkowish http://mikepinkowish.com/?p=244 Continue reading ]]> My recent redesign makes use of many CSS3 features for presentation, which Chrome, Safari, and Firefox support beautifully.  However, I also wanted the site to look nice in Opera (no support for background gradients) and IE 8 (almost completely lacking CSS3 support).  To do that, I used a simple code bit to detect browsers and add an appropriate stylesheet if either browser was detected.

<?php
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if (strpos($user_agent, 'MSIE') !== false) {
?>
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'template_url' ); ?>/ie.css" />
<?php } else if(strpos($user_agent, 'Opera') !== false) { ?>
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'template_url' ); ?>/opera.css" />
<?php } ?>

My IE specific stylesheet introduced some issues for the recently released IE9, which supports many CSS3 features like border-radius and box-shadow.  As a result, my site looked like this:


Since IE9 supports a set of CSS3 similar to Opera, I decided to have IE9 and Opera share a stylesheet which provides background gradients.  All older version of IE still needed to use the IE stylesheet which provided rounded corners, drops shadows, and background gradients.  The updated browser detection code is below.

<?php
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if (strpos($user_agent, 'MSIE 9') !== false
  || strpos($user_agent, 'Opera') !== false) {
?>
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'template_url' ); ?>/opera.css" />
<?php } else if(strpos($user_agent, 'MSIE') !== false) { ?>
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'template_url' ); ?>/ie.css" />
<?php } ?>

Which fixes the display issue nicely:

IE9 still does not support the text-shadow CSS property which bewilders me, and I can’t do much about, short of replacing text with images.  Also, some might say I should use feature detection instead of browser detection in choosing which styles to use.  They’re right, and I will try to use Faruk Ateş and Paul Irish‘s Modernizr to solve that problem in the near future.

]]>
http://mikepinkowish.com/2010/09/16/ie9-detection-and-css-stylesheet-selection-in-wordpress/feed/ 0
What I Learned from Redesigning My Site http://mikepinkowish.com/2010/09/15/what-i-learned-from-redesigning-my-site/ http://mikepinkowish.com/2010/09/15/what-i-learned-from-redesigning-my-site/#comments Wed, 15 Sep 2010 08:40:16 +0000 Mike Pinkowish http://mikepinkowish.com/?p=239 Continue reading ]]> Since June, I had been pining to redesign my site.  I had few ideas floating as to what I wanted to design and started elaborating on those ideas.  Probably the most ambitious of those ideas, was something I called the Ski Experience.

The Ski Experience was meant to represent me as a skier to everyone via my website.  The idea behind the Ski Experience was that visiting my site would be like visiting a ski mountain.  The homepage was the base lodge and feature a welcome message as well as links to the blog, portfolio, and contact page.  The main page of the blog would present a bunch of posts styled as trails that a user could go explore.  Finally, the navigation was represented as different peaks of the mountain that someone would go visit.

The Ski Experience idea was very appealing to me, mostly because I love skiing.  The way I envisioned the site was that it would be very graphically detailed.  I wanted something that looked beautiful and captured the essence of skiing.  Unfortunately, try as I might, I couldn’t design graphics the way I wanted them to look.  I learned that good graphic design is tough, and not something that I’m as experienced at as say development.

I played around with different styles and ways of creating the graphics, but nothing came out as awesome as I wanted it to.

Stylized mountains based on a photo.

Vector mountain drawn from hand.

Despite my failed attempts, I still had a very strong idea of what I wanted the Ski Experience to be, but I didn’t have the time to learn the design skills necessary to create it with all of the other things happening in my life.  So, I did what I do best, making a very clean, usable design for my site.  I like this new design, but at the same time, it doesn’t represent me as a skier.

The color scheme for this design was originally based off of a Tesla I saw while visiting Boulder, Colorado this past July.  My first few design iterations originally used a creme color for the site background, but I dropped that in favor of a cleaner off-white color.

An early iteration of the current design.

These past few days, I finally got together enough time to polish off the design and create a WordPress 3 theme based on the design.  What you see today is the result of that effort.  I eventually want to create a more mobile friendly version of the site (I think the site actually looks decent on the iPhone 4) and optimize my CSS.  I’ll also be tweaking some design elements based on things I notice and feedback I get from you all, so keep it coming.

In the end, what I learned is that today, I’m not a spectacular graphic designer, but I can get better if I put the time into it.  When that time will be, I don’t know, but possibly in December after my internship with Facebook and before classes start for my final semester at RPI.

]]>
http://mikepinkowish.com/2010/09/15/what-i-learned-from-redesigning-my-site/feed/ 2
How to Prepare for Phone Interviews http://mikepinkowish.com/2010/02/24/how-to-prepare-for-phone-interviews/ http://mikepinkowish.com/2010/02/24/how-to-prepare-for-phone-interviews/#comments Thu, 25 Feb 2010 00:31:17 +0000 Mike Pinkowish http://mikepinkowish.com/?p=227 Continue reading ]]> Phone interviews are tough, especially for software engineering, user interface, and other tech positions. Background noise on either end, shoddy audio quality, and just the fact that you’re not sitting face-to-face with your interviewer make for a trying experience.  Having gone through a bunch of phone interviews (4 with Google and 2 with Facebook) with success, I figure it’d be helpful to share how I prepare for those calls.

  1. Be familiar with the company. (3 days before the call) Knowing something about the company can help boost your confidence because it takes away some of the uncertainty regarding the situation.  If you know the company’s culture, their mission, and how they’ve made news, you can get an idea of what a company or startup values and how you can help.
  2. Figure out how you can make a difference. (2 days before) Good companies hire people to come make a difference and introduce new ideas.  If you’re interviewing for a user interface/experience position, find something the company’s made and figure out what you would change in the interface to make it better or a feature you would add/take away to make the product better.  It’s important to have a few solid examples thought out ahead of time so that you can relay your ideas clearly and effectively over the phone.  I always list out my ideas on paper that I have handy during the interview which I can refer to in case I forget for whatever reason.
  3. Get to know your interviewer. (1 day before) Companies often let you know who will be conducting the interview ahead of time.  Take advantage of this information and do a little research on the person who’s going to be calling you.  It can help ease your nerves if you know a little bit about the person calling you.  It takes away another element of uncertainty and gives you an idea of what to expect of the person.  Interviewers often take a few minutes at the beginning of the call to introduce themselves and familiarize you with the type of work they do at the company.
  4. Do push-ups (or anything active). (20 minutes before) It’s important to keep blood flowing and have a little adrenaline  flowing to keep you alert.  You’re going to need to think quickly during the interview, and before you can do that, you need to warm-up and get the juices flowing.  I typically do 35 push-ups about 15 minutes before the interview and 10 more 15 minutes before the interview.  Remember, don’t exhaust yourself, you just need to kick your body (and brain) into full gear.
  5. Listen to whatever music pumps you up. (15 minutes before) After your exercise, you want to keep your active so that you don’t lose energy you gained by doing push-ups.  It really helps if you can sing along (however terribly) to your pump up music (I like Girl Talk).  Singing works your speech center, warms up your vocal chords and mouth, and helps alleviate whatever anxiety you’re having.
  6. Don’t wait for the call. (5 minutes before) While still listening to music do something else.  Sitting there waiting for the call can get extremely nerve-racking and might throw you off balance.  Just do something else and let the call interrupt you.  It doesn’t matter what you’re doing, checking Facebook, reading something, or working on a problem, they’re all good; you just need something to distract you.  As long as you’re not too distracted that you miss the call, you should be good. :)

I also like to have a few things easily available for me during the call:

  • A glass of lukewarm water (so my mouth doesn’t get dry doing all that talking)
  • A copy of the resume I sent in (as reference in case they ask)
  • My pre-interview notes with my list of things I would change
  • A notebook or something else to take notes with during the interview

Keep in mind, what’s worked for me might not necessarily work for you, too.  If something above doesn’t work for you, find out what does.  It’s important that you be at your best during these calls so you can get the job or internship you really want.  If you have any questions or want some help preparing for your interview, feel free to talk to me about it.

]]>
http://mikepinkowish.com/2010/02/24/how-to-prepare-for-phone-interviews/feed/ 3