Sep 15 09

Outlook: Russian Spam

by richard

I’ve recently been flooded with a  flurry of Russian spam at work. Emails that are in all Russian that I have no idea what they mean. They usually get sent out past midnight so they’re queued up in my inbox by morning (smart, except for the fact that I can’t read Russian! – oh spammers…)

So how to get rid of them? If you’re using Outlook 2007, take the following steps:

Tools ->Options -> Junk Email…

Click on the last tab, “International”

And now click on “Block Encodings List…”

The following dialog appears…

Encoding List

Select Cyrillic for Russian characters, along with any other character sets you are unfamiliar with.

Click OK, then Apply.

You should be good to  go.

Sep 4 09

Why healthcare reform is needed.

by richard

I’m not known for being excessively political, but when it comes to healthcare reform – I definitely have an opinion, and here’s why.

My mother is single and semi-retired. She’s worked all her life as a nurse, and is now slowly transitioning to retirement. She currently works part time as a caregiver to the elderly – but doesn’t receive healthcare benefits.

Thankfully, she’s a very healthy person but everyone gets sick and when she does, she’s found a community health center that takes patients on a needs basis. It’s not great care but it suffices.

About two years ago, she had a searing pain in her chest and went to the emergency room. After several tests and a stay in the hospital, nothing was found and she was released. Her total cost: approximately $6,000.

As a family, we came together to pay this cost and decided that she can no longer slide by uninsured. She enrolled in a high-deductible emergency plan through Blue Cross. It covered hospitalization in the case of an emergency – but little else. Her monthly cost was around $175. She still had to visit the community clinic for doctor visits and still had to pay out of pocket for any prescriptions, as neither was covered.

This July, she canceled the plan – and rightly so. It was one of her most expensive bills and provided no immediate benefits. How would you feel paying $175 every month for healthcare but still having to visit a community clinic because you aren’t covered to see a doctor?

As soon as she mentioned she canceled the plan, I had her call Blue Cross to re-instate coverage and transfer the cost to me. In addition, we upgraded the plan to cover the same level of service typical of an employer provided plan. My cost – $430 a month. Thankfully I’ve been blessed with a decent job and no major expenses, so I can cope with the cost in exchange for the peace of mind to know that my mom no longer has to worry about seeing a doctor.

Soon after the new coverage went into effect, her chest pain came back. Only this time she was able see our family physician. With proper diagnosis it was determined she needed to have her gall bladder removed (something that the hospital missed the last time she went in for similar symptoms).

Fortunately our family is able to deal with this, but it’s far from ideal nor would I call it a practical solution. I challenge anyone to tell me that healthcare reform isn’t need. When hospitals can charge $6000 for missing a diagnosis and people who’ve worked all their lives now need to worry about affording even the most basic medical coverage – this can’t be the best healthcare available.

What about all the other semi-retired people, working part time jobs? People who depended on others for healthcare, but are now left hanging because that person suddenly passed away? What about all the people laid-off or unemployed? What do we say to them?

I believe in small and fiscally conservative government. But my conscious doesn’t afford me the luxury of allowing good people to fall by the wayside. Or paying for overpriced inefficiencies.

This isn’t a liberal or conservative issue. It’s a human issue. It’s about ensuring that honest people aren’t left to struggle when life deals them a blow. And it’s about ensuring that no one places a premium on a basic essential to life.

Aug 7 09

Microsoft Fail

by richard

Decided to keep a blog post on what I think are complete fails released by Microsoft. I’ll try to list it out in terms of the biggest beluga fail whales first.

  1. FrontPage
  2. Internet Explorer 6
  3. SharePoint Designer
  4. SharePoint 2003
  5. Windows Vista
  6. Windows ME
  7. Windows 98
  8. SharePoint 2007
  9. Team Foundation Server
  10. Office 97 / Office Assistant (aka Clippy & Bob)
Aug 6 09

Empty Div With Width Displays Height in IE

by richard

I have a wrapper div that contains a user control that may or may not always display content. If it doesn’t have content, then the div should be empty and empty divs shouldn’t have any height right? Well, all the browsers agree with me – except Internet Explorer. Apparently since I’ve given this div a width, even though its empty, IE still decides to render height equivalent to the set font-size.

So can’t I just add a height:0; rule to my css? Well that will work – until the control within my div decides to render content and now its hidden.

So the fix? Add an html comment within the div. Yep, sounds crazy – but if your empty div is empty, save for an html comment, it will now not render any height.

Here’s how the fix looks like:

Yay Microsoft! Your rules for HTML parsing makes perfect sense!

Aug 5 09

SharePoint Calendar View Width

by richard

SharePoint calendar widths breaking your custom design? Yea, they’re pretty wide. Here’s how you can tame them.

For the default Month and Day view, you can apply the following style:

.ms-calheader img { width: auto; }

This will reset the width for a spacer image that the fine folks at Microsoft have decided to give this enormous amount of width to.

For the Week view, you need an additional style rule (hold your breath for this one):

.ms-cal-wtopday div img, .ms-cal-wtopdayL div img, .ms-cal-wtopdayLover div img, .ms-cal-wtopdayover div img, .ms-cal-wtopdayRTL div img, .ms-cal-wtopdayRTLL div img, .ms-cal-wtopdayRTLover div img, .ms-cal-wtopdayRTLLover div img, .ms-cal-wtopdayfocusover div img, .ms-cal-wtopdayfocusLover div img, .ms-cal-wtopdayfocusRTLover div img, .ms-cal-wtopdayfocusRTLLover div img, .ms-cal-wtopday-todayRTLover div img, .ms-cal-wtopday-todayRTLLover div img, .ms-cal-wtopday-todayRTL div img, .ms-cal-wtopday-todayRTLL div img, .ms-cal-wtopdayfocusRTL div img, .ms-cal-wtopdayfocusRTLL div img, .ms-cal-wtopdayfocusL div img, .ms-cal-wtopdayfocus div img
{
width: 80px;
}

Holy smokes! Good thing were not optimizing stylesheets for web performance right? This is a cumulative width that is specified for each day column. The value for the width you specify here will by multiplied by 7 to make up the overall width for the view.

There you have it – minimized widths for your calendars. Now go ahead and create a calendar event and set the title to “Supercalifragilisticexpialidocious” – yea, there’s somethings in life that you just can’t fix – SharePoint is one of them.

Jul 31 09

CSS – Select adjacent element

by richard

So, I had a table row with two table cells. The first cell had an class attribute, so I could style it easy enough, but the second table cell had no such class or ID and I need it to style it as well. It should also be noted that i had no means to change the generated html!

Search around a bit and found the CSS adjacent selector. This nifty operator allows me to target the second child within a specified parent. So in my case, the parent was the table row which had an ID, and the children where the two table cells (one with a class and another without). So to get to the second table cell I was able to do:

Viola!

Jul 6 09

Sharepoint Dispose

by richard

Apparently I was informed that when instantiating an SPWeb or SPSite object, I should call Dispose on those objects to make sure they’re released.

Oh really? My response went something like, “Isn’t that the purpose of memory management and having an Garbage Collector?” Apparently not.  Whatever, so I call Dispose after my objects, no big deal.

Until one day I stumble upon this lovely error:  “Trying to use an SPWeb object that has been closed or disposed and is no longer valid” Say what?!

So I google it and find out that I’m trying to dispose the current context of an SPWeb that needs to be used by other controls on the page.

Oh lovely, so how in the world then should I know when or when not to dispose? This is so retarded. Microsoft/Sharepoint fail.

Jul 5 09

Startup Tip # 2: Find your customers before your business

by richard

So you come across this great idea for a new business, and you’re excited! You’re pacing back and forth in your bedroom, frantically thinking things through,validating how awesome your idea is. Once you’ve validated internally, you start telling people and usually their first reaction is around the lines, “Wow – that’s an awesome idea, I’ve wish I thought about that!”

So great, now you’ve validated internally and the people you’ve told also validate the awesomeness of your idea. You’re on cloud nine, nothing can stop you now. So you mortgage the house, quit your job and start your business right? Not quite.

Having a great idea for a new business is all well and good, but looking for validation on how “great” your idea is follows the wrong approach. You see, most people will agree that your idea is awesome. Whether they think so or not is besides the point. Having a great idea for a business isn’t what’s going to pay the bills or make you rich. Its not even great execution of your terrific idea. At the end of the day its whether someone is gonna pay you money for your product or service.

So let’s restate that, It is possible to have an awesome idea, and execute it flawlessly and still fail as a new business.

So how do you avoid this no-win scenario? Instead of asking people what they think of your new idea, ask them “Would you use this service?” Or “Would you buy this product?” Then if they say yes, follow up with “How often?” and then “How much would you be willing to pay?”

You’ll find that responses to these questions will be less enthusiastic than the “What do you think of this idea?” type questions. Also, discount anyone who answers “Personally I wouldn’t have a need for this, but I know of several people who would” If someone tells you this, then ask “Okay, how can I contact those people?”

And keeping digging until you find an audience of people who responses are along the lines “GOD YES! Where have you been all my life? I will pay you to build this product! I want to invest in your company! Can I be your co-partner?”  Once you find multiple people who have money and wish they could buy your product/service right this moment, you’re golden. Your good idea now has value.

As you start your business and develop your product/service, keep in constant contact with your first customers. They want your product/service because they need it. They won’t have any problems helping you get to market.

Lastly, a word on the “if you build it, they will come” philosphy. You may be tempted to think “pft… this idea is so new that people will just have to experience it”. Perhaps, but more than likely not. Just think of all the movies that are released that are total flops at the box office. Movie studios have been playing this game for years, and even they can’t predict a win, so what chance do you have? At least movie studios can recover from their losses – can you? If not, make sure to find all the people who are going to be waiting in line once your product hits the market.

Jul 3 09

Star Trek iPhone Wallpaper

by richard

Just saw Star Trek for the second time (phenomenal movie!) Now that I have an iphone, I thought wouldn’t it be nice to sport some new wallpaper. Surprisingly, all the Star Trek iphone wallpaper i found wasn’t suiting my fancy. So for both me and you here you are – black, electric and emotive of a true Trekkie… live long and prosper!

iPhone Star Trek Wallpaper

iPhone Star Trek Wallpaper (320 x 480)

Jun 25 09

Cost of Living Calculator

by richard

Found this link via LifeHacker. Breaks down nicely your equivalent salary in other major cities in the US and where the increase will most likely be spent.

Link: http://cgi.money.cnn.com/tools/costofliving/costofliving.html

Interesting to compare my salary to places where I will hopefully like to live someday.