Posted on Thursday, February 4th, 2010 | Tags : , , , , , , | No Comment

Looking for a job, whether it will be your first real job or just a better job, is something that the nearly everyone will do in their lifetime. Many people don’t realize this but in many ways looking for a job is a job in itself. Keeping yourself organized during this process will help ensure that you keep your best foot forward so that it might just end up in the door at your ideal company. Luckily Google has many free tools out there that can help you with this process if you use them to their fullest potential.

First step when looking for a job is modifying or creating a resume. The resume is the mos important document in your job search because it is the document that should represent why a company should bring you in for an interview. So, it’s important that your resume is professional and as complete as possible, which means free of grammatical and spelling errors and containing all pertinent information about your skills. Well you probably don’t write resumes for a living, so it will be beneficial to have multiple people review your resume before you ever submit it anywhere.

This is where Google Docs or Google Wave can come in handy. Simply upload your resume to Google Docs and then share it with friends and family and ask them to review it and offer corrections/suggestions. It is also beneficial to get several people you may know that are in your industry to review it and give their opinions as they should have a better understanding of what companies that you will be applying at are looking for.

Next step is to get your resume out into the world. Now depending on your career field and where you post you resume online you will likely receive a good deal of inquiries from recruiters. You are not going to need to talk to all the recruiters who call you, and it’s best to not extend yourself out to much as having multiple recruiters submit you for the same position will kill your chances. So a good option is to obtain a Google Voice number and then filter any numbers that don’t belong to your friends directly to voice mail. This will allow you to listen to and decide for yourself which recruiters you want to call back and which ones may just be best to ignore. Then once you talk to a recruiter you can add them to your Google Contacts to allow them to be forwarded directly to your phone or just to have a location to store their information in case you need to get a hold of them.

During your job search it is important to keep yourself organized. Now everyone has a method all their own, but no matter your method of note taking it is important to take notes. This is where Google Docs comes in handy again, you can keep an organized list of all the recruiters you are working with and all companies that you have applied to or been submitted to.

Finally, there are other uses for Google during the job hunt. Before an interview you will want to do a little research on the company that you will be interviewing with. It also never hurts to Google yourself and see what turns up and make sure there is nothing that links back to you that would reflect negatively upon you.

Posted on Tuesday, January 19th, 2010 | Tags : , , , , , | No Comment

Recently we had a client ask us to add a label in front of the paging control on an ASP.NET gridview numeric paging control so that users would know what the numbers meant. This seemed like a reasonable request as we were dealing with users who may not be the most tech savvy, plus it didn’t seem like there would be much work that would need to be put in to accomplish this goal. To understand the solution you need to understand the steps at which it took to get there.

The first thing I tried was modifying the PagerTemplate, but little did I know that in ASP.NET when you modify this template on a GridView you overwrite the entire paging control. This obviously wasn’t what I wanted, I just needed to add a little text in front of all the page numbers, I didn’t want to rewrite it entirely.

So I did some searching around and I found several articles on how to add items to the Pager Row collection on data binding. Now I thought this would work great, all I needed to do would be to add a simple literal control that had my text in it and I would be good to go. Well this method worked, but it did not accomplish what I wanted as it put my text on the line before the paging control. Since this just looked bad and really didn’t offer what the client wanted it was back to the drawing board.

Next I decided it might be just easier to write my own paging control, or so I thought. So I went back and added the PagerTemplate back in place and during the data bound event I began the process of creating my custom paging control. Well, i’m still not sure what I was doing wrong but my links to other pages just wouldn’t work. It could have been because of an update panel or something else but it never changed pages.

Luckily during my attempts to get my custom paging control working I realized something, the default numeric paging is created using a html table. So I went back to using the default paging control and decided to take a look at what type was used by .NET to create the paging control. Turns out the type of the default paging control is System.Web.UI.WebControls.PagerTable, unfortunately you do not have access to this class through the development environment. However, it is cast-able as a standard HTML table control. After I converted it to a standard HTML table object in my code it was as simple as creating a new cell with my text that I wanted to add and then adding it to the beginning of the collection of cells in the row.

Below you will find an example of the DataBound event for my example GridView. This example assumes you are using a top paging control. If you are using a bottom pager control or both you will need to modify the logic in my example to grab the correct paging row.

Posted on Wednesday, January 13th, 2010 | Tags : , , , | No Comment

Google announced that beginning soon they would allow you to upload files of any type to Google Docs and offer you 1 GB of additional storage free. This is something that I have heard rumors about for awhile, so I wasn’t surprised when it was announced, but I have been personally dreading it. You see my employer owns an online file storage website called TrueShare, which I have been the primary developer on for over 2 years now. The website itself has been around much much longer than that though, it started in 2003 as a website called Easy FTP and then became TrueShare.

Since I have been on the TrueShare project I have put a great deal of hard work into the application, but being that we are still a small development shop with no investment capital it has been a struggle to keep up with the likes of DropBox, Box.Net, Files Anywhere, Drop.Io and the oodles of other file sharing websites out there. Now you add Google into the mix and it’s going to make it a great deal harder of a struggle simply because of the weight that Google can toss around.

Now of course I have already started to pick apart the offering through Google docs and my biggest flaw I can see is the 250 MB individual file size limit. I’m honestly not sure why Google did it, there is probably a good reason but it is something that sets them apart from the other offerings out there. In fact some of the sites I’ve listed do not have an individual file size limit. That and the current lack of extended features are the only two things that I can really pick at the Google Docs offering for.

One of the main things that Google does have going for them is the pricing structure for additional storage space. It’s cheap, real cheap. If you look at any of the other prices out there their price is simply the best, mostly because they have the infrastructure to get away with it. They already have infrastructures in place to redundantly store mass amounts of information that would probably boggle the mind of anyone who were to try and comprehend it. So allowing people to pay to store files there really makes sense. Whereas smaller companies are not able to get away with that cheap of a pricing structure and still make money because they don’t have the infrastructure to support it.

Now I already use Google Docs, in fact I write all my blog posts in Google Docs before I post them. I also use it’s sharing and collaboration features with friends and family. Right now i’m interested to see how the features that are currently in place for Google Docs will be carried over to files that are uploaded that won’t be able to be modified online. Most importantly i’m interested in if there will be a revision history for files that are uploaded similar to that which can be viewed for documents currently.

I guess at this point we all just have to wait and see how things progress. No one can really guess how big of an impact Google will have on the cloud storage market until it actually enters the market.

Posted on Tuesday, January 12th, 2010 | Tags : , , | No Comment

Google has put it’s foot down this time in regards to Chinese censorship of information. Google has stated that they will no longer censor their results on google.cn and that if it means they will no longer be able to operate in China they will be taking their site down.

Google was founded and it gained it’s huge success off of freedom of information, well that and advertisements. So it makes sense that they are backing freedom of information in China, it’s just unfortunate that it is going to likely cost Google’s Chinese employees their jobs.

What gets me is the way their blog post starts off talking about cyber attacks made on them from a Chinese source. What was the point of that again? The blog post itself was to talk about how they are either going to provide access to unfiltered results in China or they are going to pack up their stuff and go home.

Yes the human rights issue in China are defiantly a topic of discussion, and that has a lot to do with why Google may be taking google.cn down but that still doesn’t explain why the blog post started off as it does. I only assumption is that by saying that these attacks went after advocates of human rights in China is saying that they suspect the Chinese government was involved in some way.

Should be interesting to see how China responds. I was actually hoping this post would have ended with “We have thus far decided that it is in our best interests to remove China’s access to the internet.” or a simple “No Interwebs 4 U China!”.

Posted on Thursday, December 31st, 2009 | Tags : , , , | No Comment

I’m going to jump on the band wagon today and talk about something that is a hot topic for the day. Currently News Corp. (owners of Fox) and Time Warner Cable are in deadlocked negotiations over renewing of a contract. This effects me directly as their current contract is set to expire at the end of the year, as in tonight. If an agreement isn’t met then at that time all of News Corp’s television stations we be blacked out on Time Warner Cable’s television services. As a Time Warner subscriber I stand to loose my ability to watch these channels come the new year.

Now, I highly doubt that it will come to that, as both companies stand to loose a lot from not reaching a deal. Generally speaking I am not a fan of Time Warner, over the years I’ve had a lot of issues with their service (or lack there of sometimes), their pricing structure and above all our the idea of pro-rated bandwidth. Despite all that however in this argument I feel compelled to take their side. The demands News Corp is making on them just seems to me to be greedy.

Where most networks get $0.25 per customer per month News Corp is now demanding $1. My initial feelings about this is they are trying to make up for lost revenue from a continue increase in people who are no longer spending time in front of their TV, much less spending time watching Fox stations. With an increase in the number of people using DVRs and streaming Media I can see why advertising dollars may be down, but that shouldn’t be a call to arms to try and nickel and dime people to death.

News Corp needs to find new creative and innovative ways to generate revenue off of their content rather than trying to charge television providers more for simply offering the availability to view their content. There is many different ways to view the content that is provided by News Corp, unfortunately right now the easiest, and yes something the only choice, is over standard television networks. I don’t particularly care if I loose the Fox Network as any show on there that I feel like watching I will find a way to watch, it is that simple.

Unfortunately, at the current time it seems that Fox is favored to win it’s full demands. Which will likely lead me and many others to re-evaluate our Time Warner Subscriptions.

Posted on Wednesday, December 16th, 2009 | Tags : , , , , , | No Comment

Anyone can tell you that even if a web exceeds expectations in functionality if it isn’t visually appealing it is doomed for failure. This is where some of the greatest difficulty in creating a website comes in, making one that is both functional and appealing to the eye can be hard if you don’t an artist on your side. This is the problem I face when creating a website from scratch, my artistic nature is more in the logic and functional side of things and not on the visual end. So when I create a website I generally go with the tried and true method of a simple three column layout.

Previously to accomplish my goal of this simple layout I would use tables, but as I’ve found out that was the lazy and bad practice way of creating my desired layout. So that is when I went on a search to create a layout using div tags instead of tables. I concluded that this in conjunction with the proper css would be the best way to create a layout that one could be proud of. The problem I ran into was that I wasn’t familar enough with CSS to write a 3 column layout from scratch so I had to get help.

That’s when a co worker of mine guided me to this post entitled In Search of the Holy Grail. It has an odd title for the purpose of the post, which is to introduce a way of creating a 3 column + header + footer layout using div tags and CSS. This article brings up another good point, the closer your actual content is to the top of the document the better off you are. Now I don’t know how accurate his statements are as I believe search engine spiders are getting ever more sophisticated but it is a practice that certainly will never hurt anything.

This was a very eye opening post as not only gave me a very easy way to create a 3 column page layout but it also helped me learn some new tricks with css that has since helped me create a 2 column layout from scratch. Below this post you will find the CSS + HTML for my initial implementation, I went with a 3 column fixed height layout skipping the header and the footer as I was working within an MVC .NET application and those two pieces were already included in the initial layout.

I would highly recommend reading the article as it creates a good starting point for not only creating a standard layout, but also one that helps with SEO.

Posted on Wednesday, December 9th, 2009 | Tags : , , , , , | No Comment

I’ve finally gotten around to finishing this second post. The first part of the Post can be viewed here.

In my first fun with enumerations post I went over how to use an enumeration as a data source. That is all good and dandy when you are working with enumerations and want to put them into the data base. But what happens when you need to pull that value out of the database and convert it back into an enumeration. This is a problem that I have been faced with in the past.

Previously my method was to convert the value out of the database to an integer and then use a switch statement to compare it to all the integer values of the enumerations. This worked, but there are several flaws with this method. First off the major flaw is if a value is added to the enumeration collection then you would have to go through every location where it was pulled out of the database and update the corresponding switch statements to account for the added option. This could possibly be very time consuming if the enumeration is used in numerous locations. Another problem is switch statements are inefficient in execution for various reasons that is an entirely different topic.

This is what lead me to the the methods below. These methods are designed to work as a catch all for any type of enumeration, they take in the values as either an integer or character. The reason for the availability of a character object type being passed in is because characters can be used in enumerations because they are able to be directly converted to an integer and characters are easier to read in database fields. Again though I digress away from the purpose of this entry so lets walk through.

There are two methods in my example below, the first of which contains the core functionality which i’m going to discuss. The second method is an overloaded example that I will go into more detail about as it contains a different idea for how to handle the value not being found. First off we have three parameters that go into the first method. They is the Type Param T and then two object values Value and DefaultValue. These two values are exactly what they sound like, the first is the value you want to find in the enumeration and the second is the default value you want to use if it is not found. The type param is the enumeration type that you want to use, this is also the type that is returned by the method.

Inside the method we declare two variables an int and a char. In most cases the integer is all we’ll need, but the character is there in case the value you are looking for comes in as a single character string. As discussed previously char values can be set for the values of enumeration members so we need logic that will convert the single character string to a char value and then to an int. These values are used in the next if else if block of code. We have two different TryParse method calls here, the first tries to parse the value to an integer and if that fails it then tries to parse the value to a char. Inside both of these if statements the code is very similar, the only difference being the variables that are used, first we check to see if the value is defined within the enumeration type if it is then we create the enumeration object and return it. If it is not defined or if either of the parsings fail we go onto the next section of code dealing with the default value.

There are two different ways this method expects the default value, either as an enumeration object of the type specified or as a value that is defined within the enumeration. The first statement within this block checks to see if the value type that is passed in is the same as the type param. If it is we simple cast the default value from an object back to the enumeration type and return it. The second and third statements within this if block are almost the exact same as the first part of this method, but instead of using the value they use the default value parameter. We try and parse the value as either an integer or char, check if it’s defined and if so return it.

If the method reaches the end and still has not returned a value it returns the default value of the enumeration type param. The default value of an enumeration is either the first enumeration that appears in a list that does not have values specified or is the enumeration that has a value of zero. It should be noted that in an enumeration list where values are specified the first item in the list has a value of zero, thus no matter what you get the enumeration with a value of zero. If no enumeration has a value of zero then you simply get the value of zero as your enumeration when returns without a hitch, just won’t be able to be defined with code.

The second method is a different version of the first method. The logic is similar, but instead of taking in a default value if the value of the enumeration is not specified it throws an exception to be caught by the code that is calling the method. This method is handy in case you want to stop functionality of the calling method if the enumeration you are looking for is not defined.

I’m currently working all this logic into a test project which I hope to have posted on code project before the end of the year for all to see. Just remember enumerations are fun and exciting, if you know how to use them correctly.

Posted on Tuesday, November 24th, 2009 | Tags : , , , , , | No Comment

I personally am one of the people who is extremely excited about the fact that the Chrome OS is now out in the hands of the community. What this means to me is that as early as next year we could start seeing devices running the Chrome OS, which I personally can’t wait for. I’ve been in the market for a good netbook for over a year now, the problem is there is nothing out there that seems perfect for what I want. I want something lightweight, fast and very portable with a slick interface and preferably touch screen. The problem with the majority of netbooks out in the market right now is they are running off of a windows based operating system. While there is nothing wrong with the Windows OS it seems more suited towards desktop computers and full fledged laptops as it is a heavily bloated OS.

This is where the Google Chrome OS comes into play. Most people don’t realize the role this operating system is trying to fill and it is causing a lot of confusion out there. The Chrome OS is designed solely for internet-only devices. The purpose is to provide users with a fast way to get connected to the internet to do a number of different tasks that can be completed online. Google’s goal seems to be driving your everyday activities to the cloud, further supported by Chrome OS’s design.

This is what is difficult for people to grasp about Chrome, it’s being designed to fill a gap that currently exist. There are no operating System currently designed solely to get you online and manage your online applications. Chrome OS is a large step forward for cloud computing, it is opening the doors for device manufacturers to easily create internet-only devices and for a lower cost.

I really don’t believe that Microsoft has anything to be worried about in regards to the Chrome OS. If they keep trying to put pressure into making Windows 7 viable for the netbook market I don’t feel they are going to accomplish anything other than loosing money in the long run. I already feel that Microsoft as a corperation spreads themselves to thin as it is and continuing to do so is going to bring them a lot more trouble than they are already in. If they focused on building a stable desktop/laptop operating system and pushed that with their full effort I feel that they would be better off than trying to go toe to toe in the new market that Google is pushing. Unfortunately, I can already see them competing directly with Chrome OS and coming out with their own even slimmer version of Windows 7 time that could be better spent improving on it’s functionality and ease of use.

To get back on topic, I am pleased where Google is going with the Chrome OS and look forward to getting a device that is running it as soon as possible. It will fit my needs perfectly, as all I need is something that will connect online and allow me to use all the online applications that I currently do already. I will end with a video that I encourage you to watch that demonstrates why you would use the Chrome OS.

Posted on Tuesday, November 24th, 2009 | | No Comment

The project page has been updated with my most recent progress on several of the websites I am currently working on.

Most notably Red Panda Reviews and AFK ATM Network have been taken out of their design status and moved to development as both are currently under active development.

I also updated the Description on those two websites to more accurately describe their purpose as well as updates to A to Z Comics description to describe work that I had completed last week.

I plan on a full fledged blog post before the end of the day, have several topics I want to write about just having problems deciding.

Posted on Tuesday, November 17th, 2009 | Tags : , , , , , , | 1 Comment

A friend of mine shared with me a video from TED talks of Pranav Mistry going over the potential of SixthSense technology. Now you may have to watch the full fourteen minute video to understand my excitement over this technology that is being referenced.

For those of you who are unfamiliar with the technology and don’t want to watch the 14 minute video just yet I will go into a bit of detail as to the scope of this technology, I would still highly recommend watching the video though. SixthSense technology as he call it is a device that is worn that can interpret certain objects that are in front of you and provide useful information for you. In one of his examples he holds up a boarding pass and this unit reads the boarding pass and then provides useful information on if the flight is delayed or on time. He also goes into detail to about many other uses in the video and shows examples of the device and software in action.

The biggest thing that got me is at the end of the video when the host of the event that he was speaking at gets back up on the stage with him to answer a few questions as well as ask a few initial questions. One of the questions asked and answered is that about his plans for the project. He states that he is already in talks with several different types of companies that are looking it use it in completely different ways. Then he drops the bombshells saying that the equipment is very cheap and that he is going to open source the code of the application.

He is the type of inventor that I personally look up to. He’s inventing to see his inventions brought to the masses and help improve the lives of anyone that it touches, rather than being in it solely for the money involved. He is one of those people that I would relish the opportunity to sit down and talk to and pick his brain solely for the purpose of learning from him.

I want to just touch briefly on TED. It was only recently that I learned about TED and what it actually is and I have to say that i’m quite impressed. I highly applaud any organization that is out there trying to foster and promoting innovative thinking. I only wish there was more organizations out there like TED as this type of thinking and collaboration is vital to making large technological leaps.

«« Older Entries

This website is devoted to web development and my technology opinions.