LinkedIn Phising Website

The other day I was browsing to my LinkedIn account and instead of typing “”, I unwittingly typed in “”. Notice the difference? I sure didn’t, and once I had hit enter, I was instantly redirected to this page:

Complete Survey to Win!.png

Looks legitimate enough right? That’s what I thought and I figured LinkedIn might have hired this 3rd party company to perform surveys for them. Most of us don’t normally care for surveys, but this one was only 4 questions and promised “exclusive offers” at the end. The “available today only” is also a nice touch to motivate the user to submit a survey (people who legitimately do surveys, take note!).

Since I just woke up and haven’t had my morning coffee, I blindly went ahead and filled out the survey. Finally at the end, here was the dead giveaway that this was fake:

Complete Survey to Win!.png

The giveaway was that someone was willing to give away 2 laptops or a TV just for taking 3 minutes of your time to answer 4 simple questions? That’s where I drew the line and instantly knew this was fake and just a phishing scam.

Another dead giveaway was when I came back to this site and used incognito mode (effectively turning of my plugins), the first page had an audio loop congratulating me. In this case, my spam blockers actually made it more difficult to spot a fake site!

I’ve always considered myself tech savvy enough to catch these types of sites before I actually do interact with them. Luckily in this case I haven’t entered in any personal information. Probably clicking the “Select Prize” button would take me to a page where I enter in all billing and shipping information. So I lessons learned:

  • Pay attention to what you typed in the address bar. New browsers are trying to hide the address bar to give the user more space to view the website. I think this is a major security flaw and will be a boom for phishers to take advantage of unknowing victims.
  • Always pay attention to the site you are on. If the site looks suspicious, double check your address bar and your history to see you typed the right link. If this domain name is not the original name you typed in, close the browser and delete your cookies!
  • Watch out for 3rd party URL’s. Websites that use 3rd party services to host pages on a separate domain should take note that they are at fault for causing this. How do we, as public users, know whether you are using a 3rd party or not?
  • If something is too good to be true, it is! Free lunch, especially a coveted $1,500 laptop, is very rare or at least takes some significant effort to achieve!


No Comments

My Commonly Used Mac OS X Applications


A colleague of mine recently got a MacBook Pro and asked me what some of my favorite Mac applications are. Having made the transition from a Windows PC to a Mac a few years back, I distinctly remember all the trial and error I went through in learning about the Mac and finding apps on a new platform. This question also brought a perfect opportunity for a new blog post!

So without further ado, these are some of my most used applications for Mac OS X 10.6, ignoring built in Apple apps:

  • 1Password – password manager
  • Adium – universal im client
  • AppCleaner – mac app uninstaller
  • BetterTouchTool – better customization for multitouch input devices
  • BetterZip – zip utility
  • Chrome – net browser
  • FaceTime – webcam chat
  • gfxCardStatus – graphics status
  • Growl – notifications, must have!
  • iStatMenus – system stats
  • LittleSnapper – screenshots
  • Notational Velocity – note taker
  • OmniDiskSweeper – check disk space usage
  • PathFinder – file browser replacement
  • Perian – video codecs
  • PhoneView – download/archive iphone files
  • Pixelmator – photoshop replacement
  • Pomodoro – productivity timer
  • Secrets – configure secret options
  • Skype – voip/chat
  • Steam – pc/mac gaming
  • svnX – mac client for subversion
  • Tagr – id3 editor for media files
  • TextWrangler – text editor
  • Things – task management
  • Transmission – torrent
  • TrueCrypt – encrypt files
  • VirtualBox – virtual machine
  • VLC – media player
  • Xcode – mac development

Apple apps that I use most often are:

  • iCal
  • iPhoto
  • iTunes
  • Mail
  • Remote Desktop
  • Terminal
  • Time Machine

And applications that I use every once in a while depending on the task at hand.

  • Boxee – media front end
  • Carbon Copy Cloner – disk imaging backup
  • Cyberduck – ftp client
  • ExifTool – photo metadata editor
  • Firefox – browser for net development
  • GeekTool – display stats on the desktop
  • Hugin – panorama maker
  • iStumbler – wifi browser
  • kdiff3 – diff
  • Office for Mac – word proecessing
  • Remote Desktop – microsoft rdp viewer

No Comments

MVC 3 Technologies

www.asp.pngI had a brown bag session with my colleagues at work the other day to discuss the new technologies introduced with MVC 3. Here’s a summary of my session and what I feel is the most useful new features. This is from the perspective of a developer who works on a mission critical website that gets millions of hits per month.

Razor View Engine

The new view engine is a great evolution for MVC. Not only does Razor minimize the amount of code we need to type (devs R lzy!), but it also allows for a much cleaner code file compared to the old ASPX files. Of course there will be some effort needed to learn the new syntax, but it shouldn’t be too difficult. I think the most difficult part of learning the new syntax is figuring out what syntax Razor is “smart” enough to interpret on its own vs. what I will need to explicitly delimit as code. I guess the general rule is to assume Razor is “smart” enough to interpret what that I mean, and when build/test fails, adjust the code as needed. If you ever doubt how “smart” Razor is, you’ll get this nice error message at runtime:

razor export error.png

Another helpful feature is having the ability to declaratively create HTML helpers. I always thought it was awkward having to create/encapsulate HTML in C# code. Coming from an ASP.NET WebForms world with user controls encapsulating all the HTML code, having to code HTML in C# just seemed so wrong. The more natural @helper syntax just makes so much more sense! Unfortunately having to put the @helper code in App_Code instead of the original design of placing the code in Views\Helpers negates some of the benefits. We’ll have to review further to see if this could be leveraged on our website.

I feel the main disadvantage with the Razor syntax is figuring out how to integrate it into an existing project. Our website already has a substantial amount of code written using the ASPX syntax. Since rewriting the entire website at once is not feasible, we would have to do a hybrid solution with both ASPX code and Razor code. This will work for our team, but may cause headaches for other teams reading our code as well as getting new teammates up to speed with our codebase. Since there’s a pretty straight forward mapping between ASPX and Razor, I can easily see someone building a tool in the near future to automate this conversion!

Partial-Page Output Cache

Caching is key to creating a scalable and performant website. Our website uses a lot of partial views to encapsulate functionality so being able to output cache the partial views would be great! Currently we have our own helper class that encapsulates caching functionality. Having this functionality built into the framework would make the code a bit easier to manage. Too bad the documentation on this topic is lacking right now and I still haven’t been able to even test this feature out in test code. Once the documentation gets better, this is one feature I would like to revisit.

Unobtrusive Javascript

I get the idea of unobtrusive javascript: separate out the behavior from the content, but how does this impact a website outside of validation? Validation always seems to be the typical example, but I have yet to see how this works in other scenarios. We code our own jquery.validate on our website so using the built in unobtrusive validation isn’t very useful. Similarly with unobtrusive ajax calls, since we have our own framework for making ajax calls, this also isn’t very helpful. Seems like this is a good idea, but there needs to be more use cases before this becomes useful in an existing web application.

MVC 2 Upgrade to MVC 3

Wish there was a wizard to do this, but the manual steps outlined in the readme file actually isn’t too bad. Basically changing your version references and some GUIDs in your project and config files. My quick summary of the upgrade process from the release notes:

  1. Create empty MVC 3 project.
  2. Copy files form MVC3 project to MVC2 project: jquery.unobtrusive-ajax.js
    • /Scripts/jquery.unobtrusive-ajax.js
    • /Scripts/jquery.unobtrusive-ajax.min.js
    • /Scripts/jquery.validate.unobtrusive.js
    • /Scripts/jquery.validate.unobtrusive.min.js
    • /Views/Web.config
  3. If using Areas, copy /Views/web.config to Views folder of each Area
  4. In web.config, replace System.Web.Mvc,Version= with System.Web.Mvc,Version=
  5. Delete existing System.Web.Mvc 2.0 reference and add 3.0 assemblies:
    • System.Web.Mvc
    • System.WebPages.dll (%ProgramFiles%\ Microsoft ASP.NET\ASP.NET MVC 3\Assemblies)
    • System.Web.Helpers.dll (%ProgramFiles%\ Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies)
  6. Edit the project file, replace {F85E285D-A4E0-4152-9332-AB1D724D3325} with {E53F8FEA-EAE0-44A6-8774-FFD645390401} in ProjectTypeGuids, save.
  7. In root web.config, add the necessary entries in the assemblies section and set bindingRedirect if needed. See release notes for exact code.

Other MVC3 Changes

The new ActionResult classes would have been useful a month ago! Other than being late, these are welcome new classes. Just as how there is a Response.RedirectPermanent() in ASP.NET 4.0, RedirectResult can be used to cause a redirect with 301 status code (permanent redirect) rather than the standard 302 redirect (temporary redirect).

JSON binding also falls under the category of “useful in the past, but not anymore”. I would imagine most teams out there using MVC already have their own framework to convert .NET objects into JSON code.

Software Releases

Finally with MVC 3, there is a bunch of new software releases. The NuGet Package Manager is interesting. If there is a way to setup a private repository server, then this feature would become infinitely more useful in an enterprise environment where multiple teams could easily share internal code. Since its currently based on a public repository (from what I read), then the useful of this is limited to just referencing public packages.

IIS Express and SQL Server CE is not very useful in a corporate environment since everyone would already have a copy of IIS7 from Windows and SQL Server.

Finally the release of the Web Farm Framework would make deployment so much simpler. Still looking into it but so far this looks to be very promising!

Thoughts and Resources

While looking for a cool image to include with this post, I realized that MVC doesn’t have a logo! Silverlight has one, ASP.NET has one (in this post). Since MVC is becoming more mainstream, Microsoft designers need to start designing a cool logo for MVC!

So that’s my quick summary and thoughts on the new features with MVC 3. Hopefully this will help out someone else out there too!

During my research, I reviewed these links to get up to speed.

MVC 3 Official Documentation

MVC 3 Homepage

Scott Gu Posts

Phil Haak Posts


No Comments

iOS Tip – Load Remote Images

Quick tip, if you have iOS3/iOS4 on your iPhone/iPod Touch/iPad, you can disable loading remote images in emails by going into Settings > Mail, Contacts, Calendars, and flipping the “Load Remote Images” option to Off. By default, it is set to On.


Why would you want to do this since Apple has deemed it good to enable it by default? Well spammers can embed tracking in the image URL’s. When Mail loads the images, the spammers will know that the email address they sent to is valid, which of course leads to more spam. That’s why on the desktop and Outlook by default have this disabled. Why Apple choose to enable this by default on the iDevice is strange.

, ,

No Comments

Military Terminology from Band of Brothers

Band of Brothers [6 Discs] [DVD].jpegThe other week I just finished watching the World War II-based mini series Band of Brothers. It’s a great show with a good story and lots of action and even sparked an interest in me to learn more about the War. This recent Time magazine article is what inspired me to watch this show.

As I started watching the first episode, I realized I knew nothing about military terminology. Many times, the soldiers would call each other by their rank, but since I didn’t know the terms, I had no idea who was the leader of whom and who outranked whom. Eventually I got a feel for the terms, but it took a few episodes. To make it easier for anyone else out there in my situation, here are the ranks mentioned in the show that I caught, from highest ranking to lowest:

  1. Colonel
  2. Major
  3. Captain
  4. Lieutenant
  5. Sergeant Major
  6. Sergeant
  7. Corporal
  8. Private

Quick tip: throughout the movie, you can see each person’s rank by the symbol on his helmet.

The other military terminology that I was illiterate to was the unit of each military squad: how many per unit, and what was the hierarchy? Same as before, here’s what I eventually figured out, from smallest to largest:

  1. Squad (9 – 13)
  2. Platoon (20 – 42)
  3. Company (70 – 200)
  4. Battalion (300 – 1,300)
  5. Regiment (3,000 – 5,000)
  6. Division (10,000 – 15,000)

The Wikipedia pages have a much more detailed list of ranks and units, which is partly how I figured out the above list!

1 Comment

TextWrangler with Subversion on Mac

Amazing what you’d find if you read the manual!

Even though TextWrangler is a window-based editor for the Mac, it comes with this useful terminal command: edit. Executing this command loads TextWrangler from the command line.

How is this useful for a window-based environment like the Mac? Well just recently I was configuring my Subversion environment on my Mac and wanted to use TextWrangler for my comment editing needs. Using the edit command, making this configuration is as simple as loading up the config file (by default in ~/.subversion/config) and changing the editor-cmd entry to:

editor-cmd = edit -w –resume

-w blocks the edit command from returning until the file is closed in TextWrangler.

–resume will restore the last top-most app before TextWrangler launched. In this case, the Terminal window.


Now every time I checkin, the svn command will automatically launch TextWrangler with the comment file for me to fill out!


No Comments

UITableView Background in a Standard UIView

While exploring the CoreDataBooks sample iPhone app, I came upon the EditingViewController which I noticed had the same grey/white bar background as does a UITableView has when it’s in grouped style. After fiddling with the Background property for some time, I eventually figured out how to set the Background to the same background pattern.

1. Open the Inspector window for UIView and click Background.


2. Select “Color Palettes” (middle icon) and in the Palette drop down, select “iPhone SDK”.


3. In the options, select “groupTableViewBackgroundColor” and you’re done!


Your view should now have the same bar pattern as a grouped table view!



No Comments

Vista SP2: Now with more free space!

Just did the Vista SP2 upgrade on one of my PC’s and, just like the rumors, got some extra hard drive space back. Neat!





Here’s to hoping Windows 7 will at least keep the same size!

1 Comment

WWDC 2009 Keynote Reactions


The live coverage blogs

Kind of fun to see where the bloggers are sitting by viewing the perspectives from their pictures. The AJAX auto updating blogs are awesome. Those that require refreshing… not as much. Also the picture qualities are very different. You can tell which site has the bigger budget with the quality of their pictures.

One of the live blogs I was monitoring died towards the end of the keynote while the other 2 kept going. Turns out they were relying on the WWDC network to stream their live blog while the other 2 must have had their own network. Shows who is more prepared!


Although the updated battery life is appreciated, I just feel this is another typical Apple move: milking the consumers once more. Although I have to say by dropping the prices this time around instead of introducing another insanely priced product, it makes the move a bit more tolerable.

OS X and Snow Leopard

Funny that they highlight Exchange support as one of the major features of the new OS. Correct me if I’m wrong, but isn’t Exchange a Microsoft thing? hm…

Over 6 GB in extra HD space. That’s nice! Too bad the same can’t be said of Windows, exponentially increasing size with each upgrade.

New Chinese input is really cool. I’m sure my Chinese friends will love that! Doesn’t work for those of us who suck at writing though… I hope the existing input methods are still there!

Expose from the Dock for an application sounds familiar… what happened to trash talking Windows 7?

64-bit, finally catching up to Microsoft!

$29 upgrade price is great! I don’t think Microsoft would do anything like that. They would slap on some new “UI Improvements” and charge another $100 to upgrade. Although this point is debatable since sometimes Microsoft introduces new technologies for free with Service Packs (ie. XP SP2). I’d say those occasions are rare and most of the time Microsoft would charge the typical $100 for upgrades. Let’s see if those Best Buy Vista/Win7 upgrade prices rumors are true.

Exchange Support

Fill in email and password, and set across all 3 apps! Sucks since Outlook is just 1 app! I guess it’s a “better than nothing” approach without building another Outlook.


Great that they acknowledged the developers. It is the developers that helped Apple make iPhone the platform it is today.

AT&T, the worst part of the iPhone experience in the U.S. No mention of MMS nor tethering. Get ready to turn in your first born in order to get such features.

Nice Safari improvements.

FindMyiPhone… an awesome service on the crappy MobileMe. :( C’mon hackers! Find a way to use this without Apple’s MobileMe!

The doctor app for the iPhone looks amazing. I’m sure a specific doctor friend will love it. ;)

Sucks some of the demo’s failed. Oh well, it happens.

All the new features rumored (besides video chat) are there. Good that the prices have remained the same… now it’s up to AT&T to see who qualifies for this “upgrade” price and how much the rest of will be paying. Monopolies suck!


No Comments

Star Trek Movie


Went to see the new Star Trek movie today on an IMAX screen.

Fun movie. Not geeky like the original movie/series. More mainstream plot/acting to appeal to the masses. Even so, they did include lots of hints/references to the original Star Trek for Trekkie fans.

Don’t like how they keep changing the Star Trek story line with each new show/movie, but oh well… what can I do about it?

No Comments