Saturday, February 11, 2006

Running LUA - Tricks and Talk

Some observations on my further experiences running LUA.
Traditionally I have always installed custom utilities into a root\utils directory. I have done this for years ( since 16-bit Windows) for several reasons - I know where they are, which makes it easy to see which are installed and to copy them between machines, and with one short path it can be added to environment execution path without a lot of overhead. I have always disliked the "Program Files" directory because it does not conveniently meet those requirements. And I particularly dislike the fact that it is a long name with a space in it. That was a problem for some time after it became the standard when trying to install old, often 16-bit software, which didn't handle the space.
But now that I am thinking more about security I am choosing to install more software into ProgFiles. So I am now discovering the problems that leads too with certain software. Some programs seem to write local data back to their execution dierectory without option to change it. They don't run correctly without access to those files in ProgFiles. I discovered this with one app I installed under the Admin logon. But then tried to run under a limited logon. I wasn't sure whether the problem was inability to access the registry or files, so thought about granting full rights to its directory to users who need it. But instead I found that by launching the app while running under my limited logon with elevated privileges the app sucessfully created the needed data files with my limited logon as owner. Then when I went back to run the app with the normally limited logon it I find that the app now has enough permissions to use those files as needed without granting me extra privileges to that directory. That is a pretty clean solution.

There have been a lot more references talking about running LUA lately. I will try to find them.

Friday, February 10, 2006

What's up

Lot's of interesting reading, but I didn't post since I had lost the password for a while.

I have been reading/working Ron Jeffries book "Extreme Programming in C#". I find it interesting and helpful. It has been a pretty good way to try TDD, which I haven't used much in my own work. Another theme is evolving the codebase in a natural way using regular refactoring. I have always done a lot of refactoring without knowing it had a name (a la Monsieur Jourdain) so I do enjoy watching him change the code in a natural way.

One useful thing I note is related to his YAGNI ('you aren't going to need it') principle. I sometimes get hung up trying to build a more general design than is currently needed, especially since I have found it hard to retrofit projects when additional functionality required late in a project. In particular, I once got hung up on the same capability that he has trouble with in the last chapters of his book - to wit, an Undo feature. He firmly believes that it is better to keep building continually usable software with limited functionality than to push for a complete project with full functionality that extends the development timeframe.

More to come...