Posts

My First Android App: Contact Caller

Image
I just realized that I hadn't blogged about my Android(tm) app. I found the process of dialing someone on my HTC Eris to be annoying -- it took too many steps. And I tried using the HTC Favorites widget, but I found that annoying too -- because I could only have one number per person on the favorites widget. (E.g. I could have a shortcut to my mom's cell phone, but not also one to her home phone). So I created my own dialer program. It's called Contact Caller and it's very simple. You are given a list of all your contacts. Next to each contact are three icons: a home icon, a cell icon and a work icon. Pressing one of the icons will dial the corresponding number for that person. If you don't have a certain number for that contact, then the icon will appear faded out. If you have more than one number of that type for a contact then you will be asked which one you want to dial. In addition, if you long press on one of the cell icons, it will allow you to send that per...

Pluggin Away!

I'm currently having fun working on a .NET based plug-in system. It's not MEF based, though, because that seemed overkill for this project. I hope to be able to release something soon.

Don't forget the colon on ASP.NET MVC Html helpers!

Note to self: On ASP.NET MVC 2, when using Html helpers, like Html.DropDownListFor, they don't work if you leave out the colon after the opening "crow's beak". This won't work: model.Country, ViewData["Countries"] as SelectList) %> This will: model.Country, ViewData["Countries"] as SelectList) %>

Getting Business Intelligence projects in Visual Studio 2008

Note to self: To get SQL Server Reporting Services Business Intelligence projects installed into Visual Studio 2008: When you're installing SQL Server 2008 R2, select at least these items in the Feature list: Database Engine Services, Reporting Services and Business Intelligence Development Studio.

Windows 7 & External Hard Drives

I recently built myself a new computer that's running Windows 7 64-bit edition. Most things worked fine with it -- until I plugged in my Western Digital Passport portable hard drive. I knew the drive was okay because it was working fine on my other Windows XP 32-bit machine. I finally figured out how to get it working. I'm not sure why, but it turns out that Windows wasn't assigning it a drive letter. To fix the problem I followed these step: 1) Plug in the drive 2) Open the start menu 3) Right click on "Computer" 4) Select "Manage" 5) Under "Storage" click on "Disk Management" 6) Find the external hard drive in the list at the bottom 7) Right click on it and select "Change Drive Letter and Path" 8) Click the Add button 9) Pick a drive letter and okay your way out

A tip on multithreading in PowerBuilder

The way you do multithreading in PowerBuilder is to create an object that contains the code you want to run in another thread. You then create an instance of this object as a “shared object”. You also code another object – the “interface object” and pass the shared object a reference to it. You can then call functions on the shared object and have them run in the other thread. The shared object communicates back to the main thread via the interface object. The other day I set up a program using a shared object. I had a shared object that was running some code asynchronously. When it was done, it called a function on the interface object and the interface object called a function in my window to let me know it was complete (by setting a variable). At one point I needed to wait until the shared object was done with its processing before I continued what I was doing in the main thread. I had it coded something like this: Integer li_status Li_status = wf_get_status() Do while li_status = ...

Blogaway

This post is a test of the Android app Blogaway. It seems there are a lot more blogging apps for iPhone/iPod than for Android. Hopefully that will change soon.