A New Year, No Reservations.

Last year, I made several New Years resolutions. Heck, I even partially achieved some of them. While it was motivating to have resolutions, I’ve come to the conclusion that they are really just large-scale goals that we try to cram into one year. This creates unintended pressure that actually works against us. For example, in July (if we haven’t already  forgotten about our resolutions),  we panic because we said we’d lose weight and instead, we have actually gained. Can we hurry up and lose weight in six months? Human nature says that when we are backed into a corner and pressured, we panic and run away (and not toward our goals). My one RESOLUTION this year is not to make any.

My goals
A resolution is a goal. Some goals have timelines, others happen with effort over time. Goals are important in life. Without goals, we lack achievement. Without achievement, we lack happiness. Why do you think video games are popular? We experience victory and overcome challenges and it makes us feel good!

It’s important to me to focus on the following things in life over the course of this new year and beyond.

1) Treat my fiance like a queen
2) Get married!
3) Develop good habits
4) Strengthen friendship
5) Find my career path

Break it down
Here’s another problem: we often leave our “resolutions” or goals very high-level and abstract and never define how we intend on achieving them. The best example is the famous resolution, “I’m going to lose weight.” Right now, thousands of gym memberships are being established and those people are on their way to achieve their goal. However, once they fall off the wagon and skip a few days at the gym, do they have a back up plan? Did they plan to change their eating habits? How are they measuring that? It is the great detail that we put into our goals that has a greater determination of success.

I am going to spend the next day or so establishing tiny steps for each of my goals so I can visualize what I need to do.

Don’t make resolutions. Make goals. Remember, a goal is not a statement, it’s a chapter in a book and it does not necessarily have to be achieved within the year.

Happy New Year everyone!

Android Reset: The problem with the app model and why it’s not so bad to start over

Force Close.

Force Close.

Force Close.

GAHHHHHHH! That’s the frustration I’ve been dealing with over the past few days. I have an Epic 4G Android with Froyo (Android 2.2) installed and have recently been victim of Force Close messages popping up and closing the Gmail, Phone, and Calendar apps. After several attempts to resolve the issue (clear app data, uninstall new apps, remove updates, remove synchronization, etc…), it got to the point where I couldn’t even make a phone call, read text messages, or read emails. I had no choice but to do a Factory Reset.

All is good, right? Nope. I did a Factory Reset and when the phone rebooted, the “tutorial” app crashed and I was left with no home screen and absolutely no way to make phone calls. That’s it. I lost everything. All my apps, text messages, settings…gone. I. Was. Furious! I had to do a complete reset of the phone and install a fresh copy of Android. At first, I couldn’t believe I had to go through the trouble of resetting everything and starting over with nothing. Luckily my contacts, email, calendar, and text messages were synced to Google services (which is pretty much the core functionality of the phone). However, as time passed, it became more apparent that I couldn’t even name more than 4-5 apps that I really used often enough to remember. Although I had performed a backup with Titanium Backup in the past, I decided not to pursue that as a recovery option. Why?

I actually like starting fresh. I’m glad my phone reset and forced me to start over. Now my phone is clean and I can install only the essential apps that I actually use. I can honestly say that I had 30-40 apps on my phone, most of which I’ve used only a handful of times. I know I’m not alone in this. Smartphone users have become victim to carrying a ton of apps for their one-time-use appeal. The reality is, most of the apps that are essential to you are available out of the box.

The danger of the app model of smartphones is that organization actually becomes an issue. We have all of these apps and it is up to the user to decide when to use them. After obtaining a plethora of applications, it is hard to recognize each one’s use case quickly enough to be able to utilize them correctly . Smartphones need to have a push model, where apps are launched or utilized based on user input and or actions (and no, I’m not talking about more notifications). For instance, when I plug my headphones in, ask me which music app I want to use (Pandora, Stitcher, Slacker, etc…). How about when I turn my screen on, recognize that my RSS stories haven’t been read and suggest that I open that app up?

So I guess the moral of the story is…start over. A fresh start will help you re-organize your app, speed up your phone, and give you a nice little baseline to begin with. After you get up and running again, make sure you do a Titanium Backup so the next time anything terrible happens, you can restore your phone back to a state with only your essential apps.

What Twitter is and what Twitter isn’t. It may surprise you.

Twitter is a very powerful tool for businesses,  co-workers, and friends. It is a place for you to produce content and for you to consume content.  However, Twitter is not necessarily a place for you to interact on a normal occasion.  The media wants us to believe that Twitter is a social media tool and seems to always mention Facebook in the same sentence. Twitter, unlike Facebook, promotes a follow-first methodology, meaning they want you to find people and interests to follow before going out there and tweeting yourself. I think what Twitter actually is and what we want it to be or believe it to be are vastly different.

Is Twitter REALLY social? I’ve found that Twitter has become a daily digest of one-way status updates, retweets, and news articles in which your followers hardly ever respond to. Why is that? Twitter has made it too easy to share content and follow others and too difficult to socialize. I often get discouraged when tweeting things about my life with absolutely no indication of whether someone has read it, what they thought of it, or even if they care! You’d think with 90 followers, there would be more interaction than with just my closest friends. Perhaps it’s an indication of how my followers are using Twitter. Or perhaps I just mumble a lot and spit out useless information. For confidence’s sake, I’ll agree with the former and tell you that my followers are just that, “followers,” and not “responders.” I want Twitter to be a tool to promote interaction, not exclusively consumption. More often than not, I just feel like I’m just wasting my time tweeting. Lets be honest, it’s never fun talking to yourself in front of an audience.

In addition, with a few exceptions, the only time I ever see my friends reply to anything is when they’re trying to get a celebrity’s attention or when they’re trying to win a contest.  In face-to-face social interaction, you get that feeling of acknowledgement and response to what you are saying.  If Twitter wants to claim that it is social, it needs to re-create that feeling.

What Twitter needs
Twitter needs a “like” button of some sort to at least give me an indication that people are reading my crap. Or how about a built-in text box for a response below status updates (which can be activated when a user hits “reply”). Twitter’s obscure reply feature leaves it up to the user to correctly formulate a response with its mention mechanism. Furthermore, it is extremely difficult for a user to respond to a tweet without Re-tweeting a portion of the original text–just so that the original author has some context to the response. This is what a built-in comment feature would do for you automatically. Twitter needs to make the user feel as though they are replying to an actual tweet and not just blurring out random text with a mention in hopes that the author will understand.

The Future
Twitter has set itself up for this sort of behavior with its promotion of following vs. socializing on its homepage. If you visit Twitter.com, you’ll see the words “Follow your interests” in big, bold letters. What does that tell you? Twitter wants you to focus on consumption before you socialize. Twitter has become a wide-scale news gateway in which industries have exploited and normal every-day users have fallen victim to. If you are on Twitter to update people on your life, you may be in the right place–although Twitter still has a small user base within many social circles. If you are on Twitter to share information and want people to reply or at least talk to you about it, it’s time to use Facebook  exclusively.

Twitter needs to put itself back on the social map by incorporating a campaign to encourage people to interact. But it needs to architecturally construct itself to do so first. Lets hope it does before its elegance and hidden power become obsolete.

Resolutions: A Check-In

It has been nearly five months since I created my New Years Resolutions and I am here today to reflect upon my goals. I think it is important.

1) Weight-loss (PASSING)

I have lost 13 pounds since I first started trying to lose weight in January. The waist is getting smaller and I am feeling great. I recently joined Bally’s and have started a new work-out program. So far so good!

2) Read More, Learn More (FAILING)

While I have read a bit more since January, I wouldn’t call it enough for satisfaction. My original intent was to read more while learning about various topics. I need to get on that. This is my #1 priority.

3) Friends (PASSING)

I really sat down and identified who my true friends were and I have made it a point to talk to them and visit as frequently as possible. I feel good about this one.

4) Stand Up (PASS/FAIL)

I really want to get this off the ground. I have material and just need to buckle down and practice it. I’m really excited about doing a show in the near future!

5) Back off of Technology and Do Other Non-Techy Stuff (FAIL)

I bought an iPad. Nuff said.

6) Prepare to Go to Grad School (FAIL)

I’ve been looking into going back to school, but I have to make a few career decisions first before I can really get serious about it. Will I start school this year? I don’t know, but if I stay in MI I most certainly will!

So as you can see, I’m failing pretty badly on my resolutions. At least I acknowledge it. I’ll do another check-in in four months and hopefully you’ll see more green than red.

Bracketology with Tom

So I just finished my bracket and wanted to share it with everyone.

Who wins it all?

Cause they’re awesome…that’s why; seriously, but I said this from the day that they played MSU in the Maui Invitational. Kemba Walker is a beast and will be the gem of the tournament. This team is young, hungry, and stacked with talent. They can outrun and out-shoot anyone. Uconn over…wait for it….

Notre Dame!

WHAT? No, I’m not doing this just because it’s St. Patrick’s day. Notre Dame will be the (high-ranked) darkhorse of the tournament. I like all of their match-ups and the play of Ben Hansbrough. Notre Dame is the Cinderella of this year’s tournament.

Final Four
North Carolina, UConn, Notre Dame, and Pitt.

Look for Pitt to falter and lose momentum after a series of tough, tough games in their region. Notre Dame will be on the up-and-up and get the upper hand. I really like North Carolina over OSU to make it into the FF.

Biggest Upset
UM over Duke. Look…I effin hate the stupid Wolverines…but they’ve played with many top teams to the very last second (including OSU twice) and have hardly been defeated by double-digit margins all season. Duke won’t take them seriously and Hardaway Jr. will spread his wings and become a star.

Next Biggest Upset
Missouri over Cinci in round one. Missou is playing inspired basketball and has gained quite a bit of momentum. Their fast guard play should be enough to conquer overrated Cinci.

5 v 12 Matchups
All 5 seeds will win this year. There will be no upsets. The match-ups are just bad for the 12’s. The one who has the best shot is probably Richmond, but I wouldn’t hold my breath.

Spartans…how do they fare?
Not too well. I actually truly believe that we have what it takes to get out of the first round. But we have a pretty awful draw against Florida, who is nearly unstoppable right now. If Summers comes to life and Kebler and the elves get their boots out of the fudge, we have a chance. We’re asking this team to click for two games in a row when we haven’t seen any evidence of that this season (cue MSU vs. Purdue and then MSU vs. Penn State). Consistency is key in tournament and the Spartans just don’t have it this year.

Here’s my finished bracket so that you can copy me and be awesome too:
Tom’s Bracket

This is Why the NBA Sucks


Laughing Out Loud lol

What does “lol” mean to you? Does one REALLY laugh out loud when they type “lol” during a conversation? I don’t. Sorry! In fact, I only laugh out loud when I say something to the effect of, “haha I literally just laughed out loud.” I personally think “lol” is a bit overused and has lost its meaning. Do you use it at all? How do you convey when you are actually laughing out loud?

I’ve noticed that quite a few people say “lol” after a statement that THEY believe to be funny. Is it then rude to not say “lol” back to the person if you really didn’t laugh? Think about how ridiculous that really is… if you have a conversation with one of your friends in person and laugh after something you say, yet they do not, you feel embarrassed and eventually change the subject. Yeah well that doesn’t seem to happen online. It seems like the conversation always goes something like this:

Billy – Hey, I just peed all over myself. lol!
Tony – Ew, Gross!
Billy – Yeah but then my dog licked it and it was even funnier lmao
Tony – Nice man
Billy – Yeah it smells so bad lol

Here, you’ve gotta feel for Billy. The guy is trying to humor Tony, but Tony doesn’t seem to “lol” back. I mean if Billy were to tell that story in person, he would probably add a bit of flare and act it out and it would probably spark a laugh or two. Billy can’t do that here and Tony now just sounds uninterested and lost. Poor Billy.

I have a lot of friends who do this. Has “lol” become the ultimate “filler” in a conversation to cue the other person to laugh? It sure seems like it.

Stop. Think about it. When do you ACTUALLY laugh out loud? Do we need yet another acronym to save us from lol-Hell. Should it be alol (actually laughing out loud) or will that just become yet another misused and misunderstood acronym?

Day one of lol detox. Save yourself!

Search for and highlight text on a page with JQuery

Recently, I developed a webpage for an internal website and was asked to come up with an inline-search solution that would help people quickly discover whether a search term existed on a particular page.

My first thought…CONTROL + F…duhhh….but the more I thought about it, the more I realized that many people don’t even know that they can search for text on a webpage via their browser.

So I did some jQuerying.

There are three main parts to this…the web form that the user will use to search for text, the function to find the text under particular elements on a page, and lastly some functionality to highlight the matched terms on the page.

Edit: 05/16/2014:
Fixed a bug in subsequent searches

EDIT: 02/17/2014
There has been a lot of activity on this page and a lot of feedback from users. Thank you so much for reaching out to me and using my script! When I originally wrote this, I broke it down into individual functions so that it could be more easily understood, but I now think that it caused more confusion than anything. Therefore, I re-wrote the script and created a jsFiddle for you to use and play around with. Let me know if you have any other questions!

The HTML Form
By far the easiest part…. here is the HTML code for the form:

The jQuery  (Updated: 02/17/2014)

Next, we have to write the function that will actually go out and highlight the terms.

Step 1: Determine what elements to search within. Do you want to search the entire page? Is there a particular container that your text is in, for efficiencies sake?


Next we need to  add some CSS to define what the highlighted class is:


I created a js fiddle that should help you understand the whole picture, debug, etc…

HTML 5…CSS3…does it really matter? There are other issues that need addressing first…

Why should we actually care about the new HTML 5 “standard” and the new CSS3 spec? It’s not like browsers are going to stop rendering CCS2 or HTML4 for that matter. The W3C has all of these standards to help “standarize” the web, but there are no consequences if they are not followed. For instance, I can write the following code on a webpage and it will still render correctly:


This should not be acceptable. I didn’t define a DocType, encoding, or namespace for the HTML tags. Hell, I didn’t even close my paragraph tag. These are heavily pushed and validated against from the W3C, yet it doesn’t matter (in most cases) if we don’t use them as they are suggested. Sure, there are issues with screen readers and such, but I’d argue that that “punishment” isn’t enough. If I don’t specify a DOCTYPE properly, I should see an error output that tells me , “Line 0, no DOCTYPE defined.”

All other programming languages do this. “But Tom…it’s a mark up language… it’s XML based.” So? I don’t care. The browsers should be smart enough and act as “compilers” for this markup and really punish the user for not coding properly. If I forget a semicolon anywhere in PHP, my page doesn’t render. This is how it should be.

Lastly, CSS3 is touted as new and improved as well…yet it’s not coupled with the HTML 5 spec. You’ve gotta be kidding me right? Pick up any HTML or web development book written in the past 10 years and try really hard NOT to find CSS anywhere. We’re taught as developers to use CSS to create separation between our markup and style, yet they separate the two specs as if they’re not even related. How can this be taken seriously?

Combine HTML/CSS (and even Javascript for that matter) and make it one entity. HTML/CSS are the view, the Javascript the model and controller. It should be defined as the web language. Maybe HTMLScript or something to that effect. Let’s get serious about web development. Treat it seriously, take it seriously, and the web will have less problems.

2011 New Year’s Resolutions

I know what you’re thinking. Haha Tom, you’re not going to keep your resolutions (just like the rest of us). Gyms will be filled up on Monday and emptied by February. I get it. But these are more than just resolutions for me; they’re life-changers. I want to be a better person.

So… here they are:

1) Brain Bench Presses
I want to give my brain a workout by reading more, solving challenging puzzles, speed reading, and learning how to remember. Let me elaborate on the last point. I’ve never been a good test taker, yet I consider myself pretty smart. I figured out a few years ago that I do not learn very well. Further, I do not remember things well. There is a strong connection between the two. There are methods that are out there to help us learn, retain, and recall information. I want to read books, practice techniques, and challenge myself.

2) Eat it, love it, and forget about it
While I already made a pact with some friends to lose 20 lbs by August, I do not want to focus on the number. I want to be healthy. I need to eat healthier, smaller portions and eat out less. It has been so easy for me to come home from work, grab some fast food, and call it a night. I will plan my meals well ahead of time, do some morning prep, and cook when I get home. I will sprinkle in some other techniques as well such as eating a gronola bar when I’m hungry, etc…

3) Friends
If there’s one eye-opener I’ve experienced these past few years, it’s been the difficulty in maintaining a healthy and active friendship. Friends are important to me and I’ve come to realize that reading status updates and sending the occassional FB message isn’t good enough. I want to make a stronger effort to visit my closest friends and strenghen our friendship in the process.

Step two of this resolution is to meet people in my area and make more friends. It’s incredibly difficult to meet someone when you don’t know anyone at all. It’s a personal challenge of mine to meet at least three new friends in Canton/Plymouth/Northville.

4) Stand up, sit down, and enjoy
I love stand up comedy. I love to laugh and I love making people laugh. The latter can sometimes be a struggle. I will focus on becoming more comical. After I am comfortable enough, I will perform stand up comedy at AT LEAST six open mic nights in various areas around Metro Detroit.

5) Technomore
This sounds kind of odd for me, but I want to spend more time AWAY from technology. I want to get back to the simple things in life, such as reading, writing, and enjoying the outdoors. I will replace one hour of development or otherwise “tech time” per day with reading, writing, or an outdoor activity.

6) Back to school
I want to go back to school. I haven’t decided the subject or anything to that matter, but I will go back get my Graduate Degree, starting this year.