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.

February = A lot of work

This month has been crazy for me. I have started working on a new .NET project at work that is really exciting to me, most of customers are in full swing, and lots of other stuff on the side. To complete everything in time I have sacrificed my exercise schedule and blogging activity. I am hoping that the workload will go down towards mid-March, but until then there will probably be very little blogging :-/

Site Updates

I have fixed the sorting issue with the RSS feed, now it should be in soonest to latest order. Additionally I have made the site XHTML compatible. You might find that a few pages are not compatible; that is mainly due to the imported HTML from the previous website. All the standard elements on the pages should be XHTML compliant.

Geeky Comics

I somehow stumbled upon XKCD, and it has some funny geeky comics. If you are into this kind of thing then definitely check out XKCD. I especially like this one… hahaha 🙂

The Best Formula

Haha, I was working on a document in Microsoft Word and noticed a formula in a table which is just too good to not mention here: =Sum(Above)

This is the best formula!

Awesome Powershell

PowerShell showing the paths of the currently running processes

Almost every week I get excited about a new tool. The tool of choice for the last week was Microsoft’s PowerShell. After my exposure to the linux shells, I started disliking the command prompt because of it’s simplicity. I am really happy that Microsoft has finally come up with something at least as good as the linux shells (I have not spent enough time to make any conclusions on whether it is better). Some things that I still don’t like is that there is no easy way to delete a complete word, like the CTRL-W in some of the shells, or event better the vi mode! 🙂 Anyways, back to PowerShell. For those of you who have had early exposure to this product, PowerShell was originally called Monad, and has been around a little while. PowerShell is an object based shell, and one of its best features is the object pipelining support. I don’t want to explain all the PowerShell things because there are quite a few articles and documents on the web that do that; instead here are some uses.

So, the other day I was playing around with writing an expect script to quickly upload a file to a client FTP server. During this process I had to kill the expect process a few times, not realizing that every time it was actually leaving ncftp running in the background. Today my computer became a little slow because I had a lot of programs running. So, I started Task Manager by pressing CTRL, SHIFT, and ESC. Oh, that reminds me; the other day, I was surprised to find out that this shortcut key for running Task Manager is fairly unknown. Memorize it, it comes in handy! …Task Manager comes up and I see a ton of ncftp.exe processes running. I made this an exercise to learn PowerShell and decided that I was going to kill these processes using a PowerShell command. Well, after a few minutes and a few glances of the Quick Reference (part of the PowerShell install) I had a command to kill all of the ncftp process.

Get-Process | Where {$_.ProcessName -eq "ncftp" } | ForEach-Object { Kill %_.Id }

I know I could have saved a few minutes this time by individually killing the twelve or so instances of ncftp.exe, but where is the fun in that! No, more seriously, I made this an opportunity to sharpen the saw. I can see this knowledge coming in handy down the road.

Similarly, run the following command if you are curious about the actual paths of the executables that are currently running.

Get-Process | Format-Table -Property ProcessName, Path -AutoSize

Update: as mow points out in the comments, there is an easier way to accomplish my first task of stopping all instances of ncftp.

Get-Process ncftp | Stop-Process

Web Ascender

A few weeks ago Ryan Doom and Kevin Southworth launched the website for their company, Web Ascender. I was curious about their final product, and my curiosity was finally fulfilled by the video demos that they have put on the site. SiteCTO looks pretty cool, if you are looking for a website solution, make sure to at least consider SiteCTO. I have not actually used SiteCTO but I have worked with both Ryan and Kevin, and one thing I can say is that they know what they are doing and know it pretty well. Also, I am sure their customer support will be very good.

Removing all Contacts, Appointments and Tasks from Windows Mobile 5

ActiveSync showing the successful synchronization with Exchange

After I accidentally deleted one of my key notifications using MemMaid I spent quite some time trying to get it back. Several days of unsuccessful attempts passed and I finally decided that I would hard reset and start from scratch. Yesterday I started from scratch and setup all the programs. In the midst of the overhaul I accidentally messed up the appointments that I had synchronized with Exchange. So, now I was ten steps ahead and eight steps back! Now looking for ways to completely clear out the Pocket Outlook database so I could resynchronize with the Exchange server and get everything back to normal.

I spent the last hour or so looking around for ways to do this, which ranged from deleting all items on the desktop (not something that I felt comfortable with) to finding programs that were written specifically for deleting things. Finally, a few minutes ago I found a solution here, which worked perfectly. Basically, it seems that all your contacts, appointments and tasks are stored in a file called pim in the root folder of the device. To clear everything, you have to either delete or rename this file, and soft-reset the device. The next time that the device starts, you will have a fresh (i.e. empty) database for contacts, appointments and tasks. All I had to do after that was setup the Exchange source and synchronize!

expect

I have an Actiontec linux-based modem/router. The default configuration for this router saves the last fifty-so host names that anyone on your network looked up. This is cool but not something that I normally use or prefer to have. So I looked up instructions on disabling this feature on this site. The only problem was that since /var is mapped to the RAM, my changes would get reset every time I restarted the modem. Me being the type of person that I am, had to come up with a way to automate this.

Read full post...

All New Frontpage!

I have just finished publishing a new version of the home page (a.k.a. front page) for this site. Previously there was no difference between the main blog page and the home page. Now the home page is totally different, and I am proud! 🙂 I also noticed that the captcha module had an issue which was preventing the comments from being added. I was just too excited tonight, after spending a lot of time studying today I decided to take on the challenge. This just shows my squiggly nature!

That’s correct, that is the Eiffel Tower in the background, and it’s not fake! 🙂 This picture was taken on my trip to Europe in March of 2006.

Microsoft Word and a Vim Tip

MS Word displaying a field code

A few days ago I noticed that somehow the links and images that I was putting in my e-mails and MS Word documents were changing into { HYPERLINK "https://thebitguru.com" } or similar texts. I put up with it for a few days but then it became annoying enough that I had to find a solution. After some research I found out that somehow Word’s configuration was changed to display the “Field codes.” To bring it back to the original state, I had to uncheck “Field codes” on the “View” tab of the options.

To turn off field codes: Tools menu, Options menu, Uncheck Field codes

On a second note, I was looking around for finding a way of deleting every other line in Vim to clean up a text file that I generated. Guess what I found out about, the normal command. To accomplish my specific goal I had to run :%normal jdd or the shorter version :%norm jdd; which deleted every other line. The normal command executes everything after it as a “normal” command, which in this case is, go down one line and dd, or in other words, delete it. That is just one way of using the normal command. I am excited to make this discovery because I can see myself utilizing this command in so many other ways. If you are curious, this is where I found about this specific command. Vim is truly an awesome editor!