Feb 20, 2012  •  In Personal

Asking for Some Prayers and Support…

Last night, my father was admitted to the hospital with severe abdominal pain. It turns out that the walls of his gall bladder have thickened and hardened from his Hepatitis B. The doctors are still not sure if he will need surgery. They have given him some pain meds but he is still in some discomfort. Additonally, they won’t let him eat or drink anything just in case he does need surgery, which is very frustrating considering that he has been here for almost a full day now.

My father has blood clotting problems that stem from his Hepatitis, so even a minor surgery can be risky. 🙁

I am currently writing this on my phone, at the hospital, while my father naps. Your prayers and support would be very appreciated…

You may also like:

Feb 18, 2012  •  In Art/Design, Geek, Toys, Web

Monopoly: Web Lover’s Edition

It is no secret that I am a huge fan of the classic board game Monopoly. So how could I not share this Web Lover’s Edition with my readers?

Via the Behance Network.

Just in case you’re interested (or really bored this Saturday evening), here are the other Monopoly editions I have written about in the past. Enjoy!

And, since we’re on the topic: The Shortest Possible Game of Monopoly

You may also like:

Feb 17, 2012  •  In Blogging, Entertainment, Funny, NYC, Sports, Twitter

Friday Brain Dump (Basketball Edition)

1. Did you know that you can embed Tweets?

Just mouseover the tweet I have embedded below. Notice that the tweet is “live,” meaning that all the links (such as the “Follow” button) clickable and functional.

Apparently I seem to be one of the last people on earth who did not know this feature existed. And if you too, are thinking, “THIS IS COMPLETELY NEW INFORMATION TO ME!”, here’s how you do it:

  1. From the Twitter webpage, mouseover the tweet you want to embed.
  2. Click on “Open” on the top right corner.
  3. Click on “Details” which should slide out directly beneath the tweet.
  4. Now, you will see an option to “Embed this Tweet” right under the tweet. And voilà! The following window should open:

While most people will want to use the HTML, the Shortcode option is a great one for those who are blogging from a platform — like WordPress.com — that allows Twitter shortcodes. (If you are a WordPress.org user, you can install the Modern Media Tweet Shortcode plugin to get the shortcode working.)

 

2. Scumbag Jeremy Lin

Yesterday, I chuckled over the following meme on Reddit:

And today, I saw that last night’s The Daily Show with Jon Stewart had a segment of a similar note, one that is full of corny Lin puns and sarcastic humor that is so classic of the comedic news show. Check it out yourself:

 

3. New York Knicks vs. Dallas Mavericks, February 19, 2012

J and I try our best to attend at least one Knicks game every season (if only they weren’t so expensive!), and this year’s visit to MSG will be this Sunday!

Needless to say, I am super stoked. I am crossing my fingers that this game will surpass the best NBA game I’ve attended so far (which was a Sixers vs. Lakers game in 2001, when they went to the Finals) and you know that I will be decked out in Jeremy Lin gear!

Sunday’s game is a nationally televised one (ABC), so I’m thinking of making a catchy sign. Any suggestions?

 

You may also like:

Feb 16, 2012  •  In Art/Design, Fonts, Geek, Infographics

Typography: Bold & Justified [Infographic]

This is hands-down the best infographic on typography I have ever seen. It’s too good and informative not to share. Enjoy! (Click to view large.)

Via COLOURlovers.

You may also like:

Feb 16, 2012  •  In Bloggy Thursdays, Geek, Tutorials, Twitter, WordPress

Bloggy Thursdays: Customizing the Twitter Widget Pro Plugin

Welcome to this installment of Bloggy Thursdays, where I share with my fellow bloggers tips and tutorials to maximize and better your blog. While I do not consider myself an expert, I do like to think that after 10+ years of blogging — in addition to my technical knowledge — I know more than the average blogger when it comes to making your blog more appealing to readers.

Do you have any comments, questions, or topics you’d like to see covered here? Please send me a message via my contact form. Enjoy!


A couple of weeks ago, Rachael, Really commented on my WordPress plugins post and asked me to detail how I got my Twitter widget to look the way it does. As I am always looking for new ideas and topics to cover in Bloggy Thursdays — as well as Cool Tool Tuesdays and Reverent Sundays — I couldn’t help but oblige. 🙂

(Before I go on any further, I should mention that this is another WordPress-specific tutorial. Sorry to all my non-WordPress blogger readers!)

First, download the Twitter Widget Pro plugin. What I like about this plugin is that it is a Twitter widget that is meant to be customized — this is apparent by its default, bare-bones look. However, with some creativity, you can get it to look practically any way you want.

Another great thing about Twitter Widget Pro is that it gives you tons of options as a widget even before you get into the CSS. This is how I set up the widget in the “Widgets” section of my WordPress admin:

Now, let’s get to the nitty gritty part!

When you download the Twitter Widget Pro plugin, you will notice that the plugin package comes with several files. You want to locate the file called wp-twitter-widget.php and open it in your favorite text/code editor.

Now this is the important part. You want to REPLACE lines 561-680 with the following: (Note: these lines are consistent with the most current version of Twitter Widget Pro, which is version 2.3.8. If you are working with another version, the line numbers may be different.)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
if ( empty( $args['title'] ) )
			$args['title'] = "Twitter: {$args['username']}";
 
		$args['title'] = apply_filters( 'twitter-widget-title', $args['title'], $args );
		$args['title'] = "<span class='twitterwidget twitterwidget-title'>{$args['title']}</span>";
		$widgetContent .= $args['before_title'] . $args['title'] . $args['after_title'];
		$widgetContent .= '
<ul>';
		if ( count( $tweets ) == 0 ) {
			$widgetContent .= '
<li class="wpTwitterWidgetEmpty">' . __( 'No Tweets Available', $this->_slug ) . '</li>
 
';
		} else {
			$count = 0;
			foreach ( $tweets as $tweet ) {
				// Set our "ago" string which converts the date to "# ___(s) ago"
				$tweet->ago = $this->_timeSince( strtotime( $tweet->created_at ), $args['showts'], $args['dateFormat'] );
				$entryContent = apply_filters( 'widget_twitter_content', $tweet->text );
				$widgetContent .= '
<li>';
				$widgetContent .= "
<div class='tweets'><span class='entry-content'>{$entryContent}</span></div>
<div class='twitter-bottom'>";
 
 				if ( !empty( $tweets[0] ) && !empty( $args['avatar'] ) ) {
				$widgetContent .= '
<div class="twitter-avatar">';
				$widgetContent .= $this->_getProfileImage( $tweets[0]->user, $args );
				$widgetContent .= '</div>
 
';
				}
 
				$widgetContent .= "
<div class='twitter-meta'><a href='http://twitter.com/{$tweet->user->screen_name}'><span style='font-size: 12px; font-weight: bold;'>@{$tweet->user->screen_name}</strong></a><span class='entry-meta'>";
				$widgetContent .= "<span class='time-meta'>";
				$linkAttrs = array(
					'href'	=> "http://twitter.com/{$tweet->user->screen_name}/statuses/{$tweet->id_str}"
				);
				$widgetContent .= $this->_buildLink( $tweet->ago, $linkAttrs );
				$widgetContent .= '</span>';
 
				if ( !empty( $tweet->in_reply_to_screen_name ) ) {
					$rtLinkText = sprintf( __( 'in reply to %s', $this->_slug ), $tweet->in_reply_to_screen_name );
					$widgetContent .=  ' <span class="in-reply-to-meta">';
					$linkAttrs = array(
						'href'	=> "http://twitter.com/{$tweet->in_reply_to_screen_name}/statuses/{$tweet->in_reply_to_status_id_str}",
						'class'	=> 'reply-to'
					);
					$widgetContent .= $this->_buildLink( $rtLinkText, $linkAttrs );
					$widgetContent .= '</span></div>
 
';
				}
 
				if ( 'true' == $args['showintents'] ) {
					$widgetContent .= ' <span class="intent-meta">';
					$lang = $this->_getTwitterLang();
					if ( !empty( $lang ) )
						$linkAttrs['data-lang'] = $lang;
 
					$linkText = __( '@ ', $this->_slug );
					$linkAttrs['href'] = "http://twitter.com/intent/tweet?in_reply_to={$tweet->id_str}";
					$linkAttrs['class'] = 'in-reply-to';
					$linkAttrs['title'] = 'Reply';
					$widgetContent .= $this->_buildLink( $linkText, $linkAttrs );
 
					$linkText = __( 'rt ', $this->_slug );
					$linkAttrs['href'] = "http://twitter.com/intent/retweet?tweet_id={$tweet->id_str}";
					$linkAttrs['class'] = 'retweet';
					$linkAttrs['title'] = 'Retweet';
					$widgetContent .= $this->_buildLink( $linkText, $linkAttrs );
 
					$linkText = __( '&hearts;', $this->_slug );
					$linkAttrs['href'] = "http://twitter.com/intent/favorite?tweet_id={$tweet->id_str}";
					$linkAttrs['class'] = 'favorite';
					$linkAttrs['title'] = 'Favorite';
					$widgetContent .= $this->_buildLink( $linkText, $linkAttrs );
					$widgetContent .= '</span>';
				}
 				$widgetContent .= '</span>';
				$widgetContent .= '</div>
</li>
 
';
 
				if ( ++$count >= $args['items'] )
					break;
			}
		}
 
		$widgetContent .= '</ul>
 
';
 
		if ( 'true' == $args['showfollow'] ) {
			$widgetContent .= '
<div class="follow-button">';
			$linkText = "@{$args['username']}";
			$linkAttrs = array(
				'href'	=> "http://twitter.com/{$args['username']}",
				'class'	=> 'twitter-follow-button',
				'title'	=> sprintf( __( 'Follow %s', $this->_slug ), "@{$args['username']}" ),
			);
			$lang = $this->_getTwitterLang();
			if ( !empty( $lang ) )
				$linkAttrs['data-lang'] = $lang;
 
			$widgetContent .= $this->_buildLink( $linkText, $linkAttrs );
			$widgetContent .= '</div>
 
';
		}
 
		if ( 'true' == $args['showXavisysLink'] ) {
			$widgetContent .= '
<div class="xavisys-link"><span class="xavisys-link-text">';
			$linkAttrs = array(
				'href'	=> 'http://xavisys.com/wordpress-plugins/wordpress-twitter-widget/',
				'title'	=> __( 'Brought to you by Xavisys - A WordPress development company', $this->_slug )
			);
			$widgetContent .= __( 'Powered by', $this->_slug );
			$widgetContent .= $this->_buildLink( 'WordPress Twitter Widget Pro', $linkAttrs );
			$widgetContent .= '</span></div>
 
';
		}
		$widgetContent .= '</div>
 
' . $args['after_widget'];
 
		if ( 'true' == $args['showintents'] || 'true' == $args['showfollow'] ) {
			wp_enqueue_script( 'twitter-widgets', 'http://platform.twitter.com/widgets.js', array(), '1.0.0', true );
 
			if ( ! function_exists( '_wp_footer_scripts' ) ) {
				// This means we can't just enqueue our script (fixes in WP 3.3)
				add_action( 'wp_footer', array( $this, 'add_twitter_js' ) );
			}
		}
		return $widgetContent;
	}

Even if you don’t know any PHP, you should be able to recognize some HTML lying within the code above. Pay particular attention to what comes after each instance of $widgetContent .= because that’s where the HTML is located.

The only things you may want to change are the symbols I used for Tweet Intents (reply, retweet, favorite). If you wish to do so, you can change them on lines 63, 69, and 75 above. Just replace what’s between the ‘ ‘ marks to get your desired effect.

Next, you want to add the following CSS. You can do this by pasting it to your style.css file, or create a new CSS file with the code and point to it in your theme.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
.tweets {
	overflow: hidden;
	display: block;
	margin: 10px -2px 0 -2px;
	padding: 6px 6px 6px 10px;
	background-color: #DDEEF6;
	-moz-border-radius: 6px;
	-khtml-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	list-style: none;
	font-family: Verdana, sans-serif;
	font-size: 11px;
	color: #565656;
}
 
.twitter-bottom {
	margin: 0;
	padding-top: 16px;
	background: url('/images/twitter-stem.png') no-repeat 22px 0;
}
 
.twitter-avatar {
	float: left;
	margin-right: 5px;
	padding: 1px;
	height: 34px;
}
 
.twitter-avatar img {
	margin-top: 2px;
	border: 4px solid #DDEEF6;
	width: 30px;
	height: 30px;
}
 
.twitter-meta {
	margin-top: 6px;
	font-size: 11px;
}
 
.intent-meta {
	float: right;
}
 
.intent-meta a:link, .intent-meta a:visited, .intent-meta a:active {
	color: #999999;
}
 
.intent-meta a:hover {
	text-decoration: none;
	color: #666666;
}

What you will probably want to change here are the colors. The background color of the widget (the light blue) can be found on line 6, and you will notice that I used the same color for the border around my avatar (line 32). The text color is on line 14, while the links colors are on lines 47 (regular link color) and 52 (mouseover link color).

The only thing that I ask is that should you choose to use a bubble stem like I did on mine, you host it on your own server. My stem image can be found at this URL, which you can download to use for yourself. And, of course, should you do so, you should change the URL on line 20. (If you decide not to use a stem, you can just delete that line.)

And that’s it! I know that seeing all this code can be intimating, but I promise that if you follow the instructions carefully, it isn’t that bad at all.

As always, please leave any questions you may have by commenting to this post, and I will try my best to answer them!


ETA: Commenter Mochi and Macarons asked that I provide the exact code to be replaced rather than the line numbers. I have decided that it would be easier to provide the edited version of the wp-twitter-widget.php file which can be downloaded here in ZIP format.

You may also like:

Feb 15, 2012  •  In Art/Design, Books, Scary

Dr. Seuss Taxidermy

Because I was not born in the U.S. — my family moved here from Korea when I was 7 years old — I never even heard of Dr. Seuss until I was in high school. And while I found Green Eggs and Ham to be pretty amusing, I personally found Dr. Seuss’s illustrations to be a bit disconcerting.

Alright, I thought they were downright scary. 🙁

So when I happened upon the following sculptures of Carl Turner, who has created mounted heads of Dr. Seuss’s creatures, I couldn’t help but chuckle. Just take a look — wouldn’t you be scared of these as a little kid too?

Be sure to check out Carl’s DeviantArt gallery for more fascinating sculptures! The Fishbaby, in particular, is sure to warrant a second glance.

Via Neatorama

You may also like:

Feb 15, 2012  •  In Geek, Giveaways, Shopping, Travel

Giveaway: Plaid Doctrine Eco Messenger Bag!

Today I am very excited to be introducing Plaid Doctrine, a travel accessories company that crafts its products from recycled bottles!

Plaid Doctrine was created by Suzanne Park, who logged 300,000+ miles traveling for work and found herself frustrated with the travel gear available today. She says, “I searched high and low for my last laptop bag. It was on the expensive side, but it fell apart after just 6 months.”

According to Suzanne, “These are the kinds of travel accessories I would’ve killed for in my days of non-stop travel. They’re good-looking, but not too trendy. They’re green. And they’re built to last. It’s a win/win/win!”

What makes Plaid Doctrine even more appealing is that nearly all of its materials are sourced domestically, and all of its goods are crafted in the USA!

Plaid Doctrine has been featured in many of my favorite blogs, such as Mashable, Geeksugar, Apartment Therapy, Treehugger, and iLounge. So when Suzanne contacted me about offering a giveaway to my readers, I couldn’t believe my good fortune and immediately said yes. 🙂

Now, for the part you’ve all been waiting for…

Plaid Doctrine will be giving away the Eco Messenger Bag
(a $129 value) in argyle to one lucky reader!

The Eco Messenger bag measures 14″ x 10″ x 4″. The padded interior pocket is ideal for an iPad or a Kindle, and can even accomodate a 15″ laptop. The rear pocket can be slipped over a rolling luggage handle, and the two utility pockets expand to carry a water bottle or a small umbrella.

Crafted in downtown Seattle, this commuter bag is made from water- and stain-resistant fabrics (recycled polyester, recycled nylon, and ballistic nylon) and is sure to make a fashionable and durable addition to your travel gear!

To enter this giveaway, simply use the Rafflecopter widget below. Not sure how to use Rafflecopter? Watch this 45 second video for a tutorial on how to enter a giveaway using Rafflecopter. There are 6 methods of entry, with the first method (commenting on this blog post) being mandatory while the fourth method (Tweeting about the giveaway) can be used once per day: 


This giveaway will end on Wednesday, February 22nd, 2012, at 12:01am, at which point a winner will be randomly chosen and announced here.

Please use a valid email address and/or Twitter handle so that I can contact you if you win!

Sorry, this giveaway is open only to residents of the United States.

Good luck, and thanks for entering!

You may also like:

Feb 14, 2012  •  In Baby, Books, Cool Tool Tuesdays, Funny, Geek, Parenting, Personal

Cool Tool Tuesdays: The Baby Owner’s Manual

Welcome to today’s installment of Cool Tool Tuesdays, where I feature a favorite item from my life and spotlight it so that others who are not familiar with the product may also benefit from it. A cool tool can be any book, gadget, software, hardware, material, or website that I have personally tried and love.

Do you have any questions about today’s cool tool? Would you like an item featured in the future? Please leave a comment to this post, or send me a message via my contact form. Enjoy!


Do you remember the episode of Friends titled “The One with the Baby Shower”? Yes, I know Bamboozled is an epic game show we would all like to see live on TV, but I would like to talk about the story behind the title of the episode — more specifically, the scene at the baby shower where Rachel starts to freak out about not knowing anything about babies.

Oh mom, I swear I’m not an idiot. I’ve read all kinds of books on pregnancy and giving birth, but I — I just didn’t think to read the part about what to do when the baby comes. And — and then guess what? The baby’s coming and I don’t know what to do. Oh, can I throw up in my Diaper Genie?


“Wait a minute. That can’t be right. Is that a beer bong for a baby?”

This is actually a common problem amongst many first time parents. Even if you take baby care classes and read parenting books left and right, there is no denying that every parent goes through that moment of “Oh crap. I have NO idea what I am doing.”

Like the first time J and I gave Claire a bath. Although I have babysat and even nannied for babies in the past, my responsibilities had never included bathing an infant. Needless to say, we were petrified at the thought of bathing our daughter in — gasp! — WATER for the very first time and we had no idea how to do it. Should it be a two-person job? Do we submerge her all the way up to her neck? How do we shampoo her hair without getting the soap in her eyes?

In the end, we ended up doing a YouTube search for babies being bathed. 🙂

I wish that we had the topic of today’s Cool Tool Tuesdays on hand that first frantic week, because it would have saved us a lot of time and many doubts! Because today, I will be highlighting my personal favorite baby care book: The Baby Owner’s Manual: Operating Instructions, Trouble-Shooting Tips, and Advice on First-Year Maintenance.

The book, written as if your baby is a product to be “maintained,” is filled with facts, instructions, and diagrams that explore hundreds of questions that first-time parents may ask, in a humorous and straight-to-the-point manner.

At first glance, the book is a satire — think of a VCR manual, except with babies. But it really is filled with great tips and information from board-certified pediatrician Dr. Louis Borgenicht and his son Joe Borgenicht, who is “a first-time father who frequently telephones his dad for advice.”

Perhaps it is due to my penchant for illustrations and diagrams. Or perhaps it is because I have no desire to read through hundreds of pages of fluff that is so prevalent with other baby care books. (Informative, yes — but still fluff when there is only ONE THING you need to know, especially when that tidbit is needed at 3am with a screaming baby in your arms.) Because as those first few weeks turned into months, I found myself reaching for this book over and over again, leaving the likes of What to Expect the First Year and Baby 411 gathering dust.

Another huge plus is that because the book is written with men in mind, they are much more likely to be receptive to it. I know that J cracked it open on more than a few occasions when he had questions that needed to be answered.

The Baby Owner’s Manual is sure to make a great gift for first-time parents. The other two books in the series — The Pregnancy Instruction Manual and The Toddler Owner’s Manual — look intriguing as well, and I am especially tempted by the toddler one!

Still doubtful? You can get a nice preview of the book before deciding to buy — most of the book’s contents are available via Google Books!

You may also like:

Feb 14, 2012  •  In Cute, Geek, Science, Web

Google’s Geeky Valentine Surprise

Happy Valentine’s Day!

For a sweet Valentine’s surprise, type this into a Google search:

sqrt(cos(x))*cos(300x)+sqrt(abs(x))-0.7)*(4-x*x)^0.01, sqrt(6-x^2), -sqrt(6-x^2) from -4.5 to 4.5

Too lazy or suspicious to try it for yourself? What will happen is that the algebraic equation will plot out a graph in the shape of a heart, like so:

Feel free to share this with your geeky friends!

Via Mashable

You may also like:

The Best Ad Campaigns of All Time (And What You Can Learn from Them)

Via CollegeOnline.

You may also like: