Saturday, December 29, 2007

SQL Server 2005 on Vista

Latest adventure has been moving my development environment to a new laptop (with more RAM, etc) Installing SQL Server 2005 on Vista was a challenge for some reason..

Using the MSDN-provided SQL Server Developer Edition, ran into the error "The feature(s) specified are not valid for this edition of SQL Server" Which features(s)?

Backed off doing a full install, and instead installed in this order
  1. Workstation components
  2. Database engine
  3. Reporting Services

Reporting services did not configure itself automatically during the install, but not a big deal to do it afterward using the Reporting Services Configuration console in SQL 2005.

Thursday, November 29, 2007

Completed some updates to, my consulting web site. One of the main links is to this blog, now at The blog being the centerpiece is really opening it up to be kept more up to date. The old design had been built around my homegrown database for content, but had never built out the administrative pieces necessary to update it live online. The new design is intended to be sparse and simple, basic information on how to contact me, and links to various clients and projects. My goal is to list all of my clients past and present. Regardless of whether anyone navigates to the portfolio directly, having them on the web where I can point a person to, or send a link when explaining an example project is a great relief.

Saturday, November 17, 2007

Visual FoxPro Final Version

Per the attached article, Visual FoxPro has reached its end-of-life, and will be released as open source

I hadn't actually realized it wasn't already part of the dotnet, the latest version I touched was FoxPro 6. Then 8 and 9 were out so fast, I figured they were to catch up with .net 1.0/1 and .net 2.0, respectively. In fact, Visual FoxPro is still sitting out there in COM land. My prediction is that it will take the open source route, a movement there will build a DotNet interface, with FoxPro syntax, similar in paradigm to Fujitsu's or in that sense Microsoft's J#... it will not be a port of the language, rather layering another syntax on the dot net framework. which begs the question, was it the language features or syntax and semantics that was the strength?

I used to be hard pressed to see how FoxPro's tight data integration can be duplicated in dot net. Now with reading about LINQ, it seems like that is the direction of the entire dot net line.

"Linux-Apache-mySQL-PHP" (LAMP) environment

Ran across a great tool called 'xampp' for a development environment for PHP/mySQL (or 'Linux-Apache-mySQL-PHP (/Python/Perl/p?)' LAMP environment. I'll let the site share the details..., but for myself, as someone comfortable primarily with Windows and .net, it was the easiest way I've seen so far to get this environment up and running.

The app is downloaded and extracted to a directory (no actual install, just lives within a folder). You then run an executable in this folder which gives you a control panel of sorts, almost like a trimmed down version of the 'Services' console in Windows allowing the 4 components to be installed, started, and stopped. It also indicates whether the service is running. The 4 services are Apache, mySQL, FileZilla (which is a FTP server, I've used the client version, but not server), and Mercury (not sure yet what this is)

mySQL started right away
Apache did not start right off the bat, but a few searches through the documentation showed a likely cause that it was colliding with an existing web server. In my case, IIS. Options are to shut down IIS and swap back and forth between the two, or change the default port for one of them. I changed Apache to use port 8080 by editing \apache\conf\httpd.conf (the 'control panel' for Xampp still shows port 80 for some reason), and voilĂ . PHP/mySQL apps are working. It includes PEAR for database access with PHP, but the few projects I've tried are direct to mySQL variety, so haven't had a chance to test...

As a bonus, it was able to be setup on an external drive, completely self-contained... The environment should be able to run from other machines with no changes...

For a few years now, my main laptop been running PHP and mySQL (which took some work to get up and running, and has never been upgraded for fear of 'breaking' what barely got setup working in the first place). Essentially, the Windows-IIS-mySQL-PHP (WIMP) setup. Used extremely rarely, as I maintained 3 or 4 web sites, such as, or But most were using CMS's or other types of pre-built packages, so most of the editing took place on the server. There was just limited need to work locally. But at the same time, I relish being able to work on, refer to, or demo a project in a pinch without requiring an internet connection.

Started out looking for a virtual machine, with the intent of either rebuilding my WIMP box within a VM, or getting a prebuilt Linux vm. Found, which I might still end up using for some tasks. But for a Windows person like myself.. I just can't get around in the environment fast enough. Ran across xampp while looking at (side note - interesting that it is the first site that shows up when googling for 'portable' because there are tools like Portable FileZilla and Portable Notepad++. I figured I would place on whatever I ended up using for php/mysql development. Xampp is not part of the official portableapps framework, but seems to meet the same standard of being self-contained and running from an external drive.

Sunday, September 2, 2007

Microsoft Money 2007 workarounds

Upgraded to the Microsoft Money 2007 earlier this summer. As much as I like the new features, it seems to lockup fairly regularly, which makes it very slow to accomplish things

I've developed the following workarounds to help me at least survive, but I'm hoping Microsoft will eventually release a fix for these.

Lockup while matching bank-downloaded transactions to manually or automatically-entered transaction.
  1. Select the Bank-downloaded transaction
  2. Select 'Change'
  3. Choose to 'Match' to an existing transaction.
  4. Choose the matching transaction
  5. Click Save
  6. {Money will lockup here}
  7. Close the application, then start it again
The Bank transaction is now matched to a manually entered one successfully.

Adding a check number to a transaction that was entered without one
(This occurs regularly for me when a bill is paid via my bank's online banking, but the payee has to receive a physical check, so the bank is assigning a check number, not myself)
  1. Select the transaction
  2. Enter the check number the bank used
  3. Save
  4. {Money will lockup here}
  5. Close the application, then start it again

After restarting, the check number will be properly reflected

Balancing an Account
  1. Click on 'Balance this account'
  2. Enter the Statement date, and ending balance
  3. {Money will lockup here}
  4. Close the application, then start it again
  5. Click on 'Balance this account'
  6. Complete the reconciliation, as appropriate
  7. Click 'Finish'
  8. {Money will lockup here}
  9. Close the application, then start it again
  10. Reopen Money (All of the transaction you cleared will be marked as reconciled, but the 'balanced As Of Date' will not be updated, not sure that this is important, but it seems to throw off the date of future attempts to balance, so...)
  11. Click on 'Balance this account' one more time
  12. Enter the same Statement date from before, but use the ending balance as both the starting and ending balance
  13. Click on Finish
Balance As Of Date will be updated.

I've contacted Microsoft's technical support about this issues, and they've pointed me the 'Repair' features, to no avail. Their next suggestions, unfortunately, are things such as 'delete all accounts' and recreate them, or 'delete all bills' and recreate them. Such steps seem to represent an huge amount of work without a lot of value added, when most people have limited time to manage their accounts and are looking to software to save them time.

Hope this may help someone running into the same issue.

Tuesday, May 29, 2007

Quotes on 'Change'

"When you CHANGE your THINKING, you CHANGE your BELIEFS.
When you CHANGE your PERFORMANCE, you CHANGE your LIFE."
- John Maxwell

Monday, May 21, 2007 DataGrid

Grew my brain a bit on the datagrid this past weekend while working on the upcoming web site It's very interesting how many things can be done declaratively, though still having to do some lifting in the code. It may be due to my limitations, or the fact that the site is still in .net 1.1.

Had to do through code:
  • Assigning a CSS class based on the contents of a row, certain columns being present or empty
  • Using a complex function to determine the text of a cell
  • turning the visibility of a control on or off

For now, I'm living with it, there are just 1 or 2 pages that have some messy Item_DataBound event handlers. In the future, I might write something of a 'UI Helper' Layer that grabs business objects and applies some parsing and formatting to get the data into a UI friendly state. At least enough that a web page can handle it declaratively, and/or have better hints as to what styles to use.

Documentation I keep turning to are the articles on the 4 guys from rolla site (
by Scott Mitchell. I saw him present a few years ago in San Diego at the Beginner's .net user group. It was (appropriately) a very basic presentation. It wasn't until the past year or so that I discovered some of his information to be very in-depth and developed a better appreciation.

Tuesday, May 1, 2007

Mens Sana Foundation

Just completed some updates to move the Mens Sana Foundation's web site over to a new payment process for their e-commmerce site. The link is

Tuesday, April 24, 2007

Friday, April 20, 2007

Just completed some updates to Basically refreshed it with some information that had been badly out of date since my move back to Sacramento, CA last year. And adding some links back and forth to the blog.

The site turned out be over-engineered in the past, was intended to have a database of projects, technologies, etc. which would then be exposed via the web. Just got unwieldy to keep up to date. The new scheme simplifies that, and will just have all of the content in the web pages vs. making it db-driven. Definitely a case of the cobbler's kids going barefoot, as the client web sites I've built over the past 2-3 years use much new tools, more standards compliant.

Future directions will be pulling it more towards being a showcase site for techniques I'm using on client web sites (some public, some intranet)
- Updating to .net (current in classic ASP)
- Scrapping frames
- Standards compliant (i.e. XHTML, CSS, etc.)
- Updating recent project descriptions

Wednesday, April 18, 2007

Unattended Install Scripts

Blog with a compendium of unattended (i.e. 'silent' installs for some common Windows utilities (i.e. Flash Player)...

Still testing how to get them to run under limited rights permissions, or be able to run remotely through WMI. Some solution where an admin would just be able to queue up the install or kick it off, without having to remote in.

Usability and Adobe/Macromedia Flash

Came across this article when looking up some info on Flash, this guy wrote a treatise of sorts on bad Flash design in the early 2ks

Interesting the correlation between him changing his mind, and getting hired by Macromedia. Still not if Flash == Evil or not... A few co-workers going through training on it, but am inclined to steer more towards standards-based HTML.