Search This Blog

Tuesday, January 11, 2011

Verizon finally gets IPhone!

Verizon finally gets the iPhone, thank goodness!

Wednesday, October 20, 2010

How to setup/integrate Facebook Platform with your own




Facebook is a host platform today for developers, marketers, businesses, actually
anyone really! Facebook is the world's largest social network topping over almost
500 million users. The amount of active traffic you can get from Facebook
is astonishing. I am not going to bloat about Facebook and how awesome it is but
what this blog post is about is how you can get started with Facebook in your own
site in less than 15 minutes. There are many tutorials out there now that try
to explain this but fail miserably. Either the documenation that the tutorial provides
is out of date or the version is out of date. It is very hard to follow. This blog
post will make it incredibly easy for anyone to get started who knows how to copy/paste
:) Let's get started:

Step 1: Register your application with your facebook account

Once you are logged into your facebook account go to the follow address:
Register your application
If you have not already added the facebook "developer"
application to your profile, you will need to do so in order to continue. If you
are reading this blog, I am hoping that you have already added the facebook developer
application to your profile. If not, its easy to add, just like any other app you
add to your profile.


Fill out the captcha...

Step 2: Setup your application's info

To make your application more easy to understand for your users, provide a brief
description about your app. Also, you can include other helpful information to your
user such as contact email, the developer's name, etc.

Step 3: Setup your web application details

I had the most trouble getting this work since all the google'd information I found
on doing this was out-of-date. Under 'web Site' tab on the left, enter your site's
URL and site's domain. (e.g. site URL: www.example.com/, site domain: example.com)

Step 4: Create a dummy page in your web site's root called 'xd_receiver.htm' with the following code


Step 5: Create a base page on your site to connect to facebook using Javascript

This part requires a little more knowledge on the coding part. If you have made it this far, your are doing well. Almost there!
We need to create a page to collect our facebook data and show it on our web page. Create a page on your site using whatever technology you prefer and then
in the paste in the following code:




You will need to deploy this web page to your site on the web in order to get this to work. This will basically allow you to connect to facebook using an account of your choice. (e.g.
Your fb account , your dev account, etc.) That is pretty much it as far as the hard stuff goes. The only thing left to do is to work on what your application needs from facebook.
You will need to look throught the JavaScript API and SDK to understand how to format requests and the other. One thing I did leave out is how to obtain the oAuth token that you will
need in order to query the Graph API. I will blog on this later. This should get your development started ASAP!
Check out the following links below to help:

[Posted By] - Vorality Admin on

[Key Words]

Wednesday, September 29, 2010

Check out the new site at http://mtg-online.com for Magic Cards, Singles, Decks, Online Store & More!

Thursday, August 5, 2010

My adventures in WPF - Intro to WPF Series

This will be a first post in the series of articles around WPF (Windows Presentation Foundation). I will be using examples of real work in an example format of the challenges I have faced when working with this technology. I feel that a blog series devoted to understanding WPF is needed because it is a very different platform for .NET Developers and when moving to WPF/Silverlight there is a steep learning curve whether people admit it or not. Just because you know Microsoft .NET does not mean that you will be sufficient at WPF/Silverlight which I find so many business people think is true.

I will also be posting reference articles that I feel have helped me along the way to understand this new Microsoft technology. I will admit that WPF is a rewarding technology to use and if used correctly can create amazing applications for businesses and individuals. However, with any new technology there are always critics and skeptics but I am here to blog that its possible to learn this technology and I am going to show you how! Stay tuned for my first post about "diving into databinding".

Wednesday, January 27, 2010

How to show deleted projects in Team Foundation Server

If you are using Team Foundation Server in any version, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010 you may run across a problem that may not be easy to solve. Sometimes when you are creating and deleting branches in Team System if you delete a branch or directory you most likely will not see it after you delete it. The problem is that by default Visual Studio does not show deleted projects. So, in order to enable this:




This is useful because Team System, all versions, continue to keep your project/branch directories around even after you delete them through Visual Studio Source Control. There is another way to completely remove the project/branch from Team Foundation Server. You can use the command line tool that comes with Visual Studio Tools that get installed alongside your Visual Studio Intallations. The path the tool lives in  :\Program Files\Microsoft Visual Studio\Common7\IDE and is available from the Visual Studio 2008 Command Prompt:




In order to delete branches you need call the tf delete command. You call you tf delete /? to see how to use the command. It is pretty easy. I used this article for reference > http://msdn.microsoft.com/en-us/library/z51z7zy0.aspx

Good luck and happy Lifecycle Management!

Tuesday, December 29, 2009

Free Training Courses on Channel9

Free Training Courses on Channel9

If you haven't had a chance to see any of the new free training content up on channel 9 you are missing out! There are tons and I mean tons of free content around many of the current and upcoming technologies that Microsoft is releasing. From what I have seen so far, many of the videos that are being produced are by industry experts and Microsoft employees. Here are courses they have setup so far:

There are hours and hours of free content up on channel 9 and I would definitely recommend taking advantage of this information while it lasts.

Good luck and I hope this helps~

Saturday, December 19, 2009

Tips and Tricks of Technical Interviews

[Intro]
I am sure everyone who has ever had a technical interview will be able to benefit from this article. I am going to explain some tips and tricks of technical interviews and how it can help you during your interviews. To get some context around this subject we need to clarify what we mean by 'technical interview'. The scary part is that this could be almost anything in the computer world. Also, just to be clear that this post is generally about Software Engineer/Consultant/Programmer positions that are built on Microsoft's .NET Framework. However, even though this is product specific, the concepts apply to the Information Technology industry. Fear not however, I will give you some good tips on how to approach technical interviews from an interviewee and interviewer perspective. Let me get started with how the process works a majority of the time.


[First Contact]
Yes. First contact, in other words, the first time a recruiter, job-hunter, hiring manager, head-hunter, whatever you would like to call them contacts you over the phone or through and email. What you can expect out of most recruiters is to talk to you about your application, resume, job history, interest, salary, and location. What I recommend in this first part of the interview process is to be very polite, upbeat and respectful. However, this is not always easy because you never know what to expect. Just remember that the recruiter is trying to get an idea of what kind of person you are and if you are going to line up with the position they are trying to fill so as interviewers we want to be as upbeat and polite as possible. 


As the recruiter tries to get a feel for what kind of worker you are there are some things you might not want to reveal to them. The most important thing is salary expectations. I feel that if you prolong this you can usually get the recruiter to let you know the salary range. Sometimes, if you are being hired for contract work and not salary, they might just tell you right away. However, if you are negotiating a salary you want to be sure to do your homework on the area through sites like:
All these sites will give you a good idea of what to expect when you are negotiating salaries for positions. It will also give you an idea of what to expect in the area/location you are applying. In addition to salary, when speaking with the recruiter try to get as much information possible about the position, such as project length, type of work, technologies being used, type of environment(in-house, consulting, etc.). This will give you a better idea when you are trying to determine how much you are worth compared to the position you are going after. In the next section, I am going to talk about what happens if this goes well for you and what you can expect.

[First Technical Interview]
If you have made this far then at least you didn't screw up the first part! This is going to be a harder to explain but I can give you the best of my knowledge. First off, depending on what type of company you are dealing with the will either be phone-based, computer-based, or in-person. Most of the time the first interview is either phone-based or computer-based. If you are dealing with a phone-based interview , here is what you can expect on the first interview:
  • Most of the time the interviewer will ask you about your project experience
  • Most of the time the interviewer will ask you about the types of technology you have worked with and for how long
  • After the interviewer is done asking you the basics about your current role and what kind of work you have be doing they will usually start with a list of technical questions in 3-4 general areas. 
  • The areas are : Object-Oriented Programming Concepts, Database Concepts, Web Concepts, and then drill into a deeper subset of whatever technology experience they are trying to figure out if you know
  • Some companies even go as far as to build systems to generate these types of general technical questions 
  • If you can get your hands on the magical PDF put together by a few programmers a few years back you can do extremely well with this interview
Just remember that I cannot give you the actual answers on this blog but a quick search on the topics lists above and you can get an idea of what to expect. If you pass this interview, usually within a few days the recruiter will call you back and talk to you about what's next in the process. If the company is small, sometimes they may require you to do a computer-based screening test. Most of the time this consists of more detailed questions about the particular technology you are working with. If the company is medium-to-large they are often going to require another technical interview and that is what we will talk about next.

[Second Technical/Behavioral Interview]
Wow, lots of information! I am going to congratulate you if you made it this far! A majority of folks don't because they really don't know core concepts and get stuck on the basic interview questions. However, since your this far keep reading! Since you are here you must know enough to have a chance at the job and what comes next in most interviews is a technical/behavioral/personality type of interview if that makes sense. It almost every interview I have ever had this always happens. Here are some things to be sure to practice up on:
  • Be ready to explain your resume and every project you were apart of end-to-end
  • Be ready to explain how you solved a particular problem in the past on one of your projects
  • Be ready to explain how you overcame an issue with a manager/customer/co-worker 
  • Be ready to interpret business value of technology to a hiring manager/technical lead
These are just some of the types of things you need to know for your second technical interview. Most of the time if you passed the first interview they already know you have the skills to work on the job. This interview is more of a "job-fit" interview. This is very typical because they(interviewer) want to know if you will be a good fit for the job and if you are personable and that your not a pyscho...literally. Considering you have read this far let's digg into the final part of the interview process...the final interview/offer.

[Final Interview/Offer]
If you get a call back for an "in-person" or "final interview" this is a very good thing and I want to congradulate you for your success. Most people don't get here. Anyways, here are some things to keep in mind in this stage of the game:
  • Salary Expectations
  • Benefits/Vacation
  • Training
  • Re-location
If you happened to hold off the recruiter from getting a salary range out of you until this point then you definitely have the upper hand in the negoiation. You can count a few things at this point. Obviously, the firm that is interviewing you has a vested interest in getting you on board so you have better negoiating power. If you can get the recruiter to give you a salary range you can work with that and usually ask for a little more than the high range. Make sure if they give you a offer you can always ask for some time to think it over before you just accept it without taking some time to think it over. So many people, myself included, always jump the gun and always say 'Yes, I accept!' right away without counter-offering. Counter-offering is the best place to be because you can offer your own terms and put the ball back in their court. This can only make things better for you if you do it right.

So, when you get the phone call about the offer or counter-offer just relax, think, and be cautious about what you say. Remeber that no matter what they say, no matter how good the offer is, you always should say "Thank you for the offer but can I take some time to look it all over before I make my decision?" If they try to hard-ball you by saying you have to tell them right now, they are bluffing, so stand tuff and just say you always take your time when making important decsions and reasure them that you are interested and want to look everything over 1 last time. Also, remember the recruiter will try their best in this stage to get you for the cheapest amount possible. Just think about it, the cheaper a company can find a valuable resource, the better off they can increase their bottom line! If the salary is what you want, you can gracefully accept the position at this point. Anyways, I can only give you pointers in this area because at the end of the day you will figure out your own way of negoiating because everyone always does. I hope this helps.

The same thing goes for Benefits, Training, and Re-location. You already know that the firm has an interest in bringing you on-board so you have the upper-hand to ask for better benefits, increased training, comparable vacation time, and re-location, if needed. A large of amount of interviewees out there have no idea of how to handle negoiations when getting hired by companies. Most of them only care about salary but as you can see there are other benefits you can gain with a little bit of negoiating. Again, I hope this helps.

[Wrap-Up]
I hope my experiences in this area can benefit you when you encounter these situations. Just remember to be upbeat and passionate when you first time because this sets the tone for the rest of the interview process. Next, always make sure you do your homework about the position you are applying for. Find out what the market-rate is for a particular position on sites like http://www.glassdoor.com/ . You can find reviews from other employees , past & present. Check the cost of living in the area you are looking to work in. As for the technical interviews, do your homework as well by reading about common algorithims, object-oriented techniques, and be up-to-speed on present & up-coming technologies. Remember that you if you make it to the end of the interview process you have a lot more bargaining power than you will ever have so keep that in mind. Finally, if you end up getting the job and everything that you wanted, then reading this blog post was beneficial for you and you should pass it on to a friend! Good luck interviewees and feel free to comment your experiences if you like.

Monday, November 2, 2009

NET Framework 4 Client Profile Beta 1 Issues & Errors

I'm sure most of the tech-savvy developers out there have already downloaded and tried to install Visual Studio 2010 Beta 1 and Visual Studio 2010 Beta 2. If you did, well there are some important things to note about the installation and removal of Beta products. Let's first start with Visual Studio 2010 Beta 1. When this first came out a few months ago, it was a huge milestone for the Visual Studio product team. However, as with all "Beta" products you need to follow the directions given by the product teams ver batum. If not, you will have issues that will cause you to pull your hair out of your head and drive you nuts. Also, you may have gotten errors when trying to uninstalling the "Microsoft Framework 4 Client Profile Beta 1" as well. Well, at least it did for me.

For the most part I followed the directions after downloading & installing the first beta release. However, when beta 2 came out 2 weeks ago, I was quick to just on the download and wanted to see all the new and updated features. So, just like any normal person I went and started unstalling my Beta 1 Visual Studio 2010. Well, first mistake I made was not to uninstall in the correct order. Check here for the correct order. http://www.hanselman.com/blog/VistaUsersUninstallVisualStudio2010Beta1BeforeUpgradingToWindows7.aspx.

So, if most of you uninstalled in the wrong order you may have some interesting side effects. One of the most painful side effects for me was trying to get rid of "Microsoft .NET Framework 4 Client Profile Beta 1". For the life of me, I could not get this to uninstall off my computer. I was searching for everything in the blogosphere to figure out what registry hack or trick I needed to get rid of it. Well after completely removing all of my .NET Frameworks and re-installing all of them, which may or may not have helped, I decided to hack the registry myself to figure out how to fix my computer.

First thing you need to is grab a free copy of a good registry tool. Check here > http://www.resplendence.com/ Once you have this tool, it makes it super easy to find things in your registry with simple searchs. Very helpful! Once you have the tool installed, do a simple text search for "NET Framework Client Profile" and you should get a decent amount of results. Most of them will be a registry location [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Installers~]. You need to find the one entry that lists the "Microsoft .NET Framework 4 Client Profile Beta 1" and delete it. I would recommend also making sure that in Control Panel > Add & Remove Programs that you have no programs associated with Visual Studio 2010 or .NET Framework 4.

So, once all this has been completed, you probably should do a re-boot just to be safe and then try to re-install Visual Studio 2010 Beta 2. If you still get errors, you might need to completely remove all traces of the dot NET framework and do a complete re-install. Here are some tools to help you do that. For dot NET detection tool which is pretty simple, check here > http://www.softrecipe.com/System-Utilities/Utilities/net_version_detector.html. This will tell very simply what versions of the NET Framework you have installed on your computer as well the version that are not. Now, you will probably need a tool to completely remove dot NET framework versions from your computer as well. Check here > http://blogs.msdn.com/astebner/archive/2006/05/30/611355.aspx This tool will completely remove all traces of the .NET framework from your machine. However, it only goes up to version 3.5 right now. Either way it is still a great tool to help easily remove dot NET versions from your machine.

Well I hope this helps all the tech-savvy developers out there! If you have any questions or comments, please post.

My new quote of the day - "Always remember,  use a virtual machine"

Tuesday, October 13, 2009

Dynamically Changing Javascript Events

If you have ever had to work with client-side code and make your functions change dynamically this article is for you. Whenever you are working with client-side code you need to remember that you need to maintain the state your code because once the DOM(Document Object Model) has been created you can only modify it with JavaScript. This introduces another problem. If you want to see the raw output of a page after it has been created from the server you can right-click in most browsers and click "View Source" or something similiar. That will give you the raw text that was sent from the server. Also, depending on what browser and browser version you have installed you may get different outputs.

I am sure many of you reading this may have seen this kind of code before:

window.onload = SayHi;

function SayHi(){
  alert('hi');
}

This code assigns a function that will execute when the page is finished loading. Pretty simple and straight-forward. However say we need something more complex, like take elements that already have onclick events and need to re-assign/change their onclick methods for any number of reasons on the client-side. For example:

//Assuming this already had an 'onclick' event like 'onclick=SayHi();'
var radioButton = document.getElementById('myRadioButton'); 

//Now lets say we wanted to change the onclick functionality or whatever...
radioButton.onclick = SayHi2;

Everything works as expected our radio button now has a new function whenever it is called. This is where it gets tricky. Say we have a function that needs to pass in arguments to our SayHi2 method. Like 'name'.

function SayHi2(name){
alert(name);
}

We cannot assign this new function to our existing code like this.

var radioButton = document.getElementById('myRadioButton'); 
radioButton.onclick = SayHi2(name);

It will drive a person crazy to figure out that when this code gets executed that whatever the 'name' variable was that was passed in will change after you set this up. Very frustrating! Also, some blog posts I have read say that if you want to change the onclick event handler you must declare the function like so:

var radioButton = document.getElementById('myRadioButton'); 
radioButton.onclick = function SayHi2(name);

This just does not work at all. It looks like will work but because you are dynamically changing the onclick event handler there is a high-possibility of your variables getting changed when your function executes. I think the reason is that JavaScript by nature is dynamic and anytime you change something that is dynamic you will get unexpected results. I am not sure why my variables changed unexpectedly but there is another way to set the function on the fly correctly. So, in the event that you are changing event handler this way you should do it following way:

var radioButton = document.getElementById('myRadioButton'); 
radioButton.onclick = new Function("SayHi2("'" + name + "'");");

This will call the Function() constructor which will build and assign a newly creately function to the radio button. This will make sure that your variables are not changed when your function executes. If you have any thoughts or comments, please post!

Josh

Thursday, October 1, 2009

Google Wave - Next Generation Web

Google's Wave product was just released to 100,000 test users yesterday. Google Wave is a 
new product from Google that offers a complete real-time interaction with an endless number 
of people simultaneously. You can check out the link here at wave.google.com . Here is a 
screen shot of what it looks like. The first shot is main dashboard. The second shot is a detail 
view of the concurrent real-time edit mode.









Google Wave currently is only available for limited preview. You have to register with Google to 
be able to download and demo the product. From yesterday there were 100,000 users allowed 
to download and use the product. Also, each test user was given 8 additional invites to allow 
additional users to use the product. As this product is still very early in its life cycle, we should 
see more features being put into this product with customer reviews early on. Hopefully, Google 
will release more invites out to the community for others.