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.

US State Department National Visa Center Disappointment

The phone system of US State Department National Visa Center is pretty bad. I have been trying to get a hold of a person to update the address for an approved visa but haven’t had any luck. The worst part is the fact is that instead of making you hold and put in a queue so the next available personnel can answer your questions they make you call them back! :-O So far I have called them several times over a 4-hour span but haven’t been able to get a hold of anyone. 🙁

KDE Screenshot

KDE Screenshot

Here is a screenshot of my current KDE desktop.

Comment Spam

Lately I have noticed that a poker spam bot keeps hitting my website almost every other day. Now it is starting to annoy me because I have to manually delete these comments, and thats just a pain. Luckily there is a captcha module available for drupal and I am currently working on setting it up. I think I will have to upgrade to drupal version 4.5.2 (currently I am running 4.5.0, I think). Let’s see how it all goes…

Whats your purpose in life?

My job starts in March and right now I don’t have too much that remains on my plate till then (i.e. almost everything is optional, nothing required). So I have had a lot of time to think about things, things that I guess most of the people (including myself) don’t usually think about during their "normal" life because there is always something to do. The first thing that came to mind was, why live 😕 Don’t get me wrong, I am not a suicidal!

Read full post...

Interesting Article

Lately I have had some time to think about life and its purpose so after spending some time thinking on mine today I decided to look around the internet and see what was out there. In my search I ended up at this site: Health, Wealth & Happiness. It has very interesting content, for starters checkout the article titled "How to Know What Your True Purpose in Life is." Also there is another interesting article titled "I want the Earth Plus 5%"; it does not have anything to do with the my original goal but it sure is quite interesting.

Replacing Caps Lock key with Backspace

I am always looking for ways of making my "computing environment" better and more efficient. A friend of mine (Ryan Doom) pointed out how rarely we used the Caps Lock key suggesting that I should assign the backspace key to it. This sounded like a good idea because right now I have to reach so far out to get to the backspace key (top-…….-right-……-hand corner…) so I decided to give it a try… In order to assign the backspace key to the caps lock key in Microsoft Windows you have to modify a registry key. Don’t worry because SharpKeys can make this a breeze, with SharpKeys you don’t have to know either the key codes nor the HKEY_BLAH/BLAH/BLAH…

By now I have been using my keyboard with the new assignment for a few months and got really used to it. I had to revisit this a few days ago when I decided to try out linux much more thorougly than I had before. Doing this assignment in linux was a little more work because I had to modify the keyboard layout file for console and then do another reassignment for X. Below is what I did to accomplish these two tasks; I am using Arch Linux with the default QWERTY layout so you might have to do a few things differently depending on the distro that you prefer…

To change the default keyboard layout

  1. cd to /usr/share/kdb/keymaps/i386/qwerty
  2. Copy the us.map.gz to a new file myus.map.gz
  3. Edit myus.map.gz using your favorite editor and change the line keycode 58 = Caps_Lock to keycode 58 = BackSpace
  4. Change the default keyboard layout file that will be used by editing /etc/rc.conf and changing the line that says KEYMAP=us to KEYMAP=myus

This will change the default layout for consoles, you can load the new layout immediately by running the command loadkeys myus otherwise the default layout will be loaded when you restart the computer. Now to change the layout in X

  1. Create a file called .xmodmap in your home directory with the following code
  2. ! Swap Caps lock and backspace.
    remove lock = Caps_Lock
    keysym Caps_Lock = BackSpace

  3. If you are already in X then just run xmodmap ~/.xmodmap. If not then start your favorite desktop environment and run that command.

I presonally prefer KDE and am still working on finding the best way to automatically run the xmodmap command when KDE starts. So far I have created a file that runs this command in the ~/.kde/Autostart but that didn’t seem to work. I will do some more research and post an update once I get it figured out.

2005-04-28: You can easily install the keymap in debian using the install-keymap command.

Alternate Purposes for the Web Server

Since this website is now being hosted remotely I started thinking about alternate purposes for the box that was hosting it before. A few things that I came up with was a DVR and a FreeNX server. FreeNX is an X compression program that is supposed to let you remotely use X at a much faster rate than the current VNC, remote X, etc.

Read full post...

Back Online

Finally my website is back online, what took so long? Well, firstly I was in the process of moving from Michigan to Wisconsin, a six hour drive and then I have been debating whether to host the website at home or get it hosted somewhere. Hosting at home would have costed me a 12 month commitment to a 1.5Mbps/512k DSL service and a few extra bucks, whereas by getting it hosted somewhere I can get 3Mbps service at home with no commitment (with a few ports blocked). I ended up not hosting the website at home because that seemed like the better option. Surely I won’t have as much control as I did before but after thinking about this I guess I won’t mind that too much (atleast for now).

Lately I have been very busy messing with Linux and setting up things here and there. I think I am getting much better at it and getting a hang of the whole deal. All of this has costed me quite some time and here is my justification for it: I am a computer scientist and this is a computer :). You might ask why not do all this on Windows? Bottomline, Windows is much easier. For the first timers setting up wireless in Linux can take quite some time (~four or five hours) but by the time you are finished you will know quite a lot about; how wireless internet works, terminology, etc. After my last experience I think I know whats going on and I can probably setup wireless in a few minutes. Note that your mileage will definitely vary because there are way too many variables. Oh well, on to the next task.

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.