Blog

During the course of the day I encounter lots of challenges, some of which take minutes to solve and others that take much longer. My goal for this section is to keep track of these challenges and their solutions. I will turn the longer ones into articles, while the shorter ones will stay as blog entries. You can expect topics to range from very specific programming challenges to broader topics like life.

Below is a list of the recent blog entries. You can also browse the blog by using the tags on the right side, or if you know what you are looking for then you can use the search box at the top right.

What is going on?

I haven’t blogged in the last few days because I am in process of making a decision that will change everything for me. For the last two months I have been thinking about the future a lot and I have finally decided to move to Madison, Wisconsin. Madison, because my brother is working there for Epic Systems Corporation and my family wants us to live together. There is a very good chance that I will get a job with Epic Systems and I have already started the process. On the home front I have given the notice to my current employer, Artemis Solutions Group. Basically this week I have to finish up the things that I am working on and then I will be transferring my knowledge to my replacement in the first few days of the next week (a week before what I had planned originally). This will be the end of my short but very exciting and learning career at Artemis.

I guess the extra week is good because my parents are in Lansing and I would definitely like to spend more time with them. I will also be preparing everything for the move (i.e. packing :)) which I had originally planned for the evenings after work. I actually think this timeline will be easier on me, because I also need to finish up things that I am currently working on for Periscan.

Looking back, one thing is for sure, you realize what you had once you leave it (well, I still have a few days to go but I can image :-/). I have been lucky with every job that I have had, in that I have had the best people to work with and the best environments to work in (hopefully this will continue). I am the kind of person that usually just goes with the flow (in this case moving to Wisconsin without even thinking twice) but my current job at Artemis and the side project with Periscan has made me think again and again. Both Artemis and Periscan have some of the best engineers, business men and "people" that are always excited about technology.

In fact I believe Artemis is one of those exceptional companies that is always on the lookout for new things and ways that will help their customers achieve their goals. I know you are probably saying, aren’t they all? Yes, every company wants to be in such a position, but very few actually achieve such a goal, and Artemis is one of those few. Not only it is one of the very few companies that is highly involved with the community, Artemis also encourages us to participate in open source projects. Furthermore Artemis has started a new open source initiative as a way of giving back to the online community (look forward to a web part that helps you join SharePoint lists, more on this another day).

I think you get the idea… Now you are probably thinking, "if its that good then why leave it?" Well, there are reason; the biggest one being, I am very dependent on my family and we need to stick together. But thats not all, tomorrow I will blog about whats in store for me… 🙂

Moving Tasks in Exchange 2003

After spending quite some time trying to get WebDAV to work I finally gave up and decided to try out some other alternatives. We have already spent too much time on this very small budget project so its important that we finish this ASAP (plus the client wants also wants us to finish up). So I started looking at alternatives and talked to one of our (Artemis Solutions Group) support engineers. He suggested looking into ExMerge, a program for merging Exchange "mailbox" data. I checked it out and seems like it will do what we are looking for.

A referesher on what I am trying to do: In simple very terms I am trying to move tasks matching a certain criteria from one user’s folder to another. This sounds very simple and I was thinking it would be simple but believe me it is not!

Back to ExMerge… ExMerge supports two different ways of merging mailbox data: one is a single-step process in which it takes a source and exports it to the same users’ mailbox on another Exchange server, and the second is a two-step process in which it produces an intermediary PST file which later, as a second step, can be merged with another mailbox. The first method will not work in my case because that limits the export to the same user on another server (as far as I know, I might be wrong on details).

The second method is exactly what I am looking for. It takes a source mailbox (you can specify the actual folder that you want to merge, for instance "Tasks"), a filter that specifies the items that you would like to export and create a PST file. The filter is limited to the subject of the items and attachments, where applicable, but thats all I need. The PST file will then be imported into the other user’s Tasks folder, again using ExMerge. From reading the documentation it looks like I should be able to do everything through the "command line" utility which I will be firing through ASP.Net so that will be interesting. Let’s see how this all works out tomorrow. I will do another post on what I finally end up doing and maybe a tutorial later down the road.

Just bought the MPx220!

I have been looking for a cellphone for quite some time and finally I decided on getting the Motorola MPx220! I had requested this phone from Motorola for reviewing but I guess I won’t be needing that any more 🙂

I have started reviewing this already and first thing that I have noticed is that the USB cable on this just plains sucks. It will not stick to the phone, so you have to be very, very careful otherwise the phone will keep connecting and disconnecting with the computer. I guess I have the next fourteen days to decide whether I want to keep this phone or not. Right now, I have to go back and shop around for a bluetooth adapter for home so I can try out the Bluetooth connectivity. The adapter that came with the Microsoft Bluetooth Mouse is pretty much useless for anything other than connecting the mouse!

Plane Skids Off the Runway!

Yesterday a plane coming from Detroit when landing at the Lansing’s Capital City Airport skid off the runway! That must have been quite scary. For the curious ones below are two links for detailed reports:

I am just amazed by the fact that planes can keep such a straight direction when taking off and and the landing is even more interesting. I think when landing the first impact when the plane hits the ground is enough to really mess up direction but amazingly they know what to do :).

Update & Traffic Tie

We have a traffic tie! The highest number of unique visitors to my previous website was 163 which the new website has hit today! This is the first month of the new website and the CMS. With about a week left till the end of this month I think I am going to have a new high this month :). I realize this isn’t too many visitors but it’s a good start.

I have been very, very busy with what’s going on in my life. I am pretty much overwhelmed by all the changes and the decisions that I am having to make. Honestly, I have never had to make any major decisions before (at least decision that I thought were major) and now it’s like someone has opened the flood gates! But, I am thinking this is good because you know what they say "Anything that doesn’t kill you makes you stronger." Furthermore, the good thing is that I realize that I have a lot to learn and I think I know which pieces I might be missing and how I should prioritize my learning :-D.

7 Habbits of Highly Effective People

Past few months I have been really interested in personal development because, first this is an area that most people would never consider improving, and secondly this is something that I can really improve on. By personal development I am referring to skills that do not relate directly to our career, which in my case would be things other than programming, software architecture, etc. Some time ago during my visit to Madison (Wisconsin) I saw that my brother’s employer
gave him a book called "7 Habbits of Highly Effective People." So just out of curiosity I started read the first few pages and found it to be very interesting. Interesting enough that I decided to pick up a copy for my flight back to Lansing (Michigan).

So far I have read through almost the first half of the book (been very busy taking care of things at work and personal projects) and I think its a book that everyone should read. The basics behind most of the things that Stephen Covey has pointed out so far are pretty simple and some are just plain "common sense."

Tasks in Exchange using WebDAV

Is it just me or does everyone agree that creating tasks in Exchange 2003 is much harder than it should be? Today I and colleague spent quite some time trying to create a task, it kept giving us a 403 Forbidden. After searching around for quite some time we found out this was because we were specifying the DAV:displayname property. So after removing that we were able to create a blank item (it was E-mail item, not a task item) in a user’s task folder. Now on to the next step, assigning all the properties. We were able to specify the type by setting the outlookclass to IPM.Task and still haven’t figured out the how to assign the individual properties.

I think Microsoft really needs to add some serious documentation for Exchange 2003 and WebDAV. Until then if I get some time I will try to put a tutorial about Exchange and WebDAV once we are done with the project.

Finally the new website look is here!

"Shoooooh!" I think I am pretty close to finishing the site design! Last night I decided I should stop ripping on Drupal’s default themes and come up with something on my own. This is what I came up with. Before critiquing keep in mind that I am a programmer and not a graphics guy!

What do you say :questioning:

Task Manager’s “Tiny Footprint” Mode

Lately I have noticed that the task manager in Windows XP mysteriously started hiding all the tabs (Applications, Processes, etc.) and the borders around it. I knew the shortcuts to step through all the tabs (CTRL+TAB and CTRL+SHIFT+TAB, forwards and backwards respectively) so it wasn’t a big deal but today just out of curiosity I did a quick search on google.

After my little adventure I found out that the task manager was running in a "tiny footprint" mode! Here is the first search result where I found out what it was and this MSDN article points out another way you can get out of the tiny footprint mode. You can easily switch between the two modes by double clicking on the borders of the task manager window.

‘failed to get data’ in Microsoft Office 2003 Web Components

I have been working on a business intelligence project using Microsoft Analysis Services (AS) for quite some time and now we are getting close to the final roll out date. One of the problems that has been on the todo list is that some of the users were getting "failed to get data" errors from the Office 2003 Web Components (OWC) that we are using for presenting the data. Below is the error that PivotChart OWC was showing:

Failed to get data. If available, errors returned from the provider are listed below.

And thats it! The provider didn’t return any errors so I have no idea about actual errors. Seaching on google didn’t return any useful results so once again I was on my own :-/. After spending some time thinking about what could be causing the problem I ended up at the cube-level permission dialog box. I noticed that the "Enforce on" property for all the roles were set to "Client." Knowing that the OWC were pretty thin clients I decided to try enforcing the permissions on the server and guess what? This time the data provider actually returned an error:

Failed to get data. If available, errors returned from the provider are listed below.
* Safety settings on this machine prohibit accessing a data source on another domain

Now that is so much more helpful! So if you are in the same situation then make sure that you enforce the permissions on the server. To do this:

  1. Right click on the database in Analysis Services
  2. Click "Manage Roles…"
  3. Make sure that the "Enforce On" column has "Server" for the desired roles

Knowing that it was a security issue I just asked the admins to adjust the permissions accordingly for all the users and on towards the next hurdle! 🙂