Arcane Fun… Saturdays?

Sorry for missing my usual Friday post, I was having ISP issues (which are still unresolved, but I’ve done a workaround for now).

This weekend I’ll be participating in something very geeky, it’s called Field Day. Each year on the fourth full weekend in June amateur radio operators (you may have heard them called “Hams”) get together to practice their emergency response preparedness, fellowship and have a good time.

The idea behind Field Day is for the hams in a community to gather at a single location, setup radios, equipment, run off of emergency power, and generally practice what we would do in case of an emergency. At the same time my local clubs are gathered, other clubs will be gathering in their communities as well. We’ll then get on the air and communicate with each other, exchanging brief messages similar to what we would do in the event of a real emergency.

This preparedness has already paid off, several times. In the days after 9/11 amateur radio was the chief form of communication. More recently, the hurricanes that devastated Louisiana, Mississippi, and parts of Alabama provided a wide scale communications effort. For months it was amateur radio that provided the communications links between emergency responders as well as relief agencies like the Red Cross and United Way.

In this day and age you might be thinking “is amateur radio still around? I thought cell phones and the internet got rid of it?” Not so. Most amateur radio equipment can be setup with a minimum of requirements. A decent 12 volt battery, the radio, and some wire in a tree and the radio operator is in business. The internet doesn’t work so well without power, and the cell phones don’t seem to work to well after a hurricane knocks the cell towers onto the ground.

Community education is the other component to Field Day. Often we gather in public places like parks so that we can be seen by folks driving or walking by. This year my clubs, the Shelby County Amateur Radio Club and the Birmingham Amateur Radio Club are joining forces and will be at Oak Mountain State Park near the fishing lake. I’m sure in your community hams will be gathering too.

If you happen to be out and about and see a bunch of guys bent over radios, wander up and say hello. They’ll be glad to show you around, maybe even let you get on the air. There’s nothing quite like the thrill of picking up a microphone and realizing the guy you are talking to is on the other side of the planet, then realizing the only thing making it happen is the little box in front of you and a piece of wire strung up in a tree! Who needs the internet anyway?

VirtualBox – USB Support

So far I haven’t had a lot of success getting USB devices working under VirtualBox with XP as the guest. Perhaps it has something to do with Vista being my host?

I’ve been testing using some USB keys, and while VirtualBox seems to know they are present, the message never seems to make it into my guest OS of XP. I intend to keep working with it, USB support would be one of the most compelling things to make me start using VirtualBox as my primary virtualization platform. However, as of right now USB support doesn’t seem quite up to prime time.

VirtualBox – Communicating to the Host OS via Networking

This evening I installed my old copy of XP (I’m now running Vista) into VirtualBox. The install was pretty easy and straight forward, so much so that it’s not even worth doing step by step instructions. A simple wizard setup my base machine, and XP installed just like it would as a “real” machine.

Using the default of NAT for networking (Networking Address Translation) seemed OK for getting to the internet, but I spent most of my evening trying to make the guest OS, in this case XP, talk to the hard disks of my host OS, Vista.

To save you a lot of grief and manual digging, here’s what I finally had to do. First, I setup a single folder on my host OS, right clicked on it to bring up properties. I then picked the Sharing tab and told the OS to share it with others on the network. (Yes, I’m firewalled, both hardware at the router and within the OS as well. I haven’t been listening to all those security now episodes for nothing! )

The folder I created was named “Z”, for no better reason than it’d be easy to find. I also named the share Z, for consistency. Once I had it shared, I went back into the guest OS of XP, which was running inside VirtualBox. I opened an explorer (aka My Computer) window, and picked Tools, Map Network Drive. OK, here comes the tricky part:

After picking the drive letter, for the Folder I had to use the IP address of the guest OS, followed by the name of the share, as in \\192.168.1.1\Z . I could not browse my local network, I couldn’t enter the machine name, only using the combo of IP address followed by share name would work.

Digging in the documentation it said that running VirtualBox’s network emulation in NAT mode caused the issue, and gave the solution, but I wish they had mentioned it a bit more prominently in the software, since using a lot of common techniques was not working.

A few notes, yes I could have chosen to share my entire drive. However, being security conscious I prefer to setup a single folder and share it. That allows me a comfortable level of isolation, and allows my to quickly and easily scan the contents with antivirus / spyware applications before using the files. And, if anyone should “break in” my exposure via shared networking will be limited to that single folder, which will be empty 99.9% of the time.

To find your machine’s IP, in the host box (outside VirtualBox) open a command window and type in IPCONFIG and hit enter. In the list of wireless adapters should be your hard wired network card, just grab it’s IP address.

Also, the share name of “Z” was because I was testing, for longer term I’ll probably setup something more meaningful like “VirtualBox Shared Folder”.

Be aware that the moment you share a folder between your VirtualBox (or any Virutal Machine) and the host OS, you have a security vulnerability. That may be fine, and will be one of the better solutions for transferring data and application installs between the host and guest OS.

Many people though use virtual machines to test new software (especially “free”applications) for viruses / spyware / malware. If that’s your goal, make sure to disconnect your mapped network drive before testing these potentially harmful applications.

Hopefully I’ve saved you a bit of effort in establishing a connection between your guest and host OS’s hard disks when running VirtualBox.

Virtual Box

I’ve started playing with a new virtualization alternative, Virtual Box (http://www.virtualbox.org/ ). It’s an open source alternative to other virtual machine programs like VMWare or Microsoft’s Virtual PC. It runs on both Windows and several flavors of Linux, and has guest additions for Windows and Linux. It also has USB support, a feature lacking in Microsoft’s product.

I found the user interface very intuitive. Simply clicking New brings up a wizard and walks you through the steps to setup a new machine.

You can choose to use a physical CD/DVD or mount one off of an ISO file, access hard disk info, audio, etc all by clicking on the blue links you see above.

As an initial test I downloaded Damn Small Linux (http://www.damnsmalllinux.org/ ) as a ISO file, and ran it in “Live” version as a mounted image. I only gave it a quick run, but so far it seems to work OK. I plan further testing with XP as a test image, but would be interested in seeing comments with your experiences.

Arcane Reasons for Data Warehousing

I may have mentioned that of recent I have been doing a lot of work in the Data Warehousing arena. Today I met with some IT folks from another branch of the company who are considering a reporting strategy for their area. One of the people I was meeting with asked me “With so much data available, how do you decide what data to put in the warehouse first, versus what data do you leave in the application, either permanently or until a later point?

Great question, and I thought that you too might be interested in the answer.

Interapplication Reports. Historically trying to combine data from multiple applications has been painful, to put it nicely. Clearly than this turns out to be one of the most compelling reasons for data warehousing, to house data from multiple applications and allow users to easily combine that data into singular reports.

Phasing Out Historical or Ad-Hoc Systems. Accounting systems seem to have an existence all their own. For various reasons they live well beyond their normal lifespan. We have a system at work, written in an old DOS based reporting tool that dates back to the late 1980’s. Over the years it’s been used to do reporting from other systems. As it turns out it has some issues with Vista, and will need replacing. Rather than getting yet another system, we plan to replace its reports with ones from our data warehouse.

Friendlier Reporting. Often when I see databases, the field names are quite cryptic. Names like fklnam (foreign name last name) and accsbcd (account sub code) litter databases. It’s difficult enough for IT Professionals to decipher the field name mayhem, but asking users to do so just to create a few ad-hoc reports can be asking far too much. Not to mention the sometimes bizarre seeming relationships between tables.

Moving to a data warehouse allows you to give much saner, user friendly names to your data. In addition you can flatten out some of the tables, simplifying the relationship structures significantly.

Production Server Load Reduction. Production systems are usually optimized for dealing with single records at a time. As a result, searching through and retrieving data for large quantities of data can be resource intensive on the production system. Shifting reporting to a warehouse means a reduced load for the production system. In addition you elimante the chance that malformed SQL from some ad-hoc query can cripple your production system.

Ease of Offline Maintenance for Production Systems. Finally, having a warehouse makes it easier to take production systems offline for maintenance. If users know they can still get to their data via the warehouse, they will be less concerned about their production system going offline for work, which in turn makes it easier to schedule such work. If you have a system that requires frequent maintenance, your users will be less likely to give you grief if their data is available elsewhere.

Those are my primary ways in which we decide which data is targeted for inclusion into the warehouse. If you need to combine data from multiple applications, have older systems that need replacement, have cryptic field names or complex table relationships, need to reduce the load on your production server, or have systems that need frequent maintenance then consider those systems first for inclusion into a data warehouse.

I’d be curious to hear your comments on your strategies for determining inclusion into your own data warehouse.

Arcane Fun Fridays: Run As Radio

“Hi, my name is Arcane, and I’m a podcast addict. “ I tell the small room full of people.

“Hi.” A crowd of voices echoes back.

“Welcome to Podcast Addicts.” says the group leader. “Tell us about yourself.”

“It’s these podcasts. I just can’t seem to get enough of them. At first it was just listening on the way home from work. Then I started on the way to the office as well. Before long I was listening all the time, grocery shopping, cutting the grass, I’ve even quit watching TV, preferring to improve myself listening to these podcasts instead of frying my brain with yet another mindless sitcom.”

“So, what’s brought you here tonight?” the group leader prompts me.

“Well, it’s those jerks over at Pwop Productions ( http://www.pwop.com/ ). You know, the same guys who do Dot Net Rocks ( http://www.dotnetrocks.com/ ) and Haselminutes ( http://www.hanselminutes.com/ ) just to name a few?”

The group leader nods, glancing between me and the crowd, and looking just a bit worried. But since he says nothing, I continue. “Well, they’ve gone and done it again. As if all those great shows weren’t enough, they’ve gone off and created yet another one, Run As Radio ( http://www.runasradio.com/ ).

“Each week Richard Campbell and Greg Hughes talk about things for system admins, hardware geeks, or savvy developers. It’s gotten to where I’ve got podcasts going all the time. My wife says I don’t listen to her anymore, or I think that’s what she’s saying, it’s sort of hard to hear her over the podcasts. She may be saying something about the space aliens trying to eat my meatloaf, but…”

I pause, realizing the crowd is no longer listening to me. In a flurry of headphones and USB connectors they are attacking the computers on the far side of the room, the Run As Radio site flickering as they download past and current episodes to their various media devices. Even the group leader is there, frantically trying to get his Zune to connect to someone.

I smile, and slip quietly out the back door. My work is done.

 

Arcane Tools: Cropper

Well, the uber cool Scott Hanselman has done it again, found another gem. OK, he’s been using it for a while, but in watching his GrokTalk ( see my post on Tuesday ) I learned about Cropper.

Cropper is a screen capture tool. As you can see below, it puts an translucent window on your screen. You can move and resize this window with the mouse, or the keyboard.

[Pic of Cropper in action]

The arrow keys will move the cropper window in 1 pixel increments for fine tuning, or for quick moves combine the arrows with the CTRL key to make 10 pixel jumps. You can also resize, use ALT plus the arrows for 1 pixel resizes, or CTRL+ALT+arrow for 10 pixel resizing jumps.

You have the option to save in a variety of formats, including BMP, PNG, and JPG, and can even select a level of JPG compression. You can also save to the clipboard if you so desire.

To capture an image, simply double click on the translucent cropper window, or press ENTER. When you do, a file is written to your Documents folder in a subfolder called Cropper Captures (although this is user configurable). I like this, as it lets me quickly grab one screen shot after another without having to put a lot of thought into it.

The coolest thing about Cropper though, is it’s entirely written in C#, and open source so you can see all the code. It comes courtesy of Brian Scott, you can see his blog and download Cropper for yourself at http://blogs.geekdojo.net/brian/articles/Cropper.aspx .

The only negative I’ve found is the name. Apparently cropping is also a popular term in the scrapbooking world, so when I started talking about cropper my wife ( http://southerntinkerbelle.com ) got all excited and tought I was getting into scrapbooking! I hated to disappoint her, but on the bright side the sofa really wasn’t all that uncomfortable.

Mr. Wizard

TV’s Mr. Wizard, a.k.a. Don Herbert passed away June 12th, 2007 at the tender young age of 89. For decades Mr. Wizard made science interesting and fun. I got into Mr. Wizard in the 80’s when he was on Nickelodeon. And yes even though the show was aimed at kids, I was already in my 20’s. That shows you how good he was, he made a show for kids interesting to young adult geeks.

One of his big themes was making science accessible to everyone, showing how anyone could do science at home. I guess in some way he was a real for runner of the Web 2.0 movement, showing how anyone can do fun science with what they have on hand and not having to rely on some big company. Naturally Mr. Wizard’s on the web, you can view his official site and read more at http://www.mrwizardstudios.com/.

My condolences to the Herbert family, the science world is a little dimmer now without Mr. Wizard.

Arcane Surfaces

By now most folks have heard of the new Microsoft Surface ( http://www.microsoft.com/surface/ ). In case you’ve been busy organizing your Star Wars figures, Microsoft Surface is a technology that lets you interact with the top of a coffee table sized device, as if it were a touch screen. You can draw on it, write, move the windows around and resize them.

It also has the ability to interact with wireless devices. In one demo, a camera is placed on the Surface and the pictures appear to spill out onto the top of the table. Multiple people can “grab” these, spin them resize them, move them around to the delight.

What’s interesting though is the level at which people seem to want to take this. I’ve seen numerous blogs and websites exclaiming how they can finally have their “Tron Desk”.

[The Tron Desk]

In case you don’t recall, Tron (http://www.imdb.com/title/tt0084827/ ) was a 1982 movie in which Jeff Bridges gets sucked into a computer and has to play games to escape, and TRON is the program that can stop the bad guy. In the “real world” the bad guy (Ed Dillinger, played by David Warner (above)) has a really cool desk.

The monitor is built in, as is the keyboard. Dillinger types on the flat surface of his desk as lighted keys appear under his fingers. Of course in 1982 it was a mock up, but today we do have the technology to do that kind of thing, I recall some early personal computers of that era having flat keyboards, each key was just the slightest bump. Today, my PDA has a touch screen, I can use my finger to key in the password and manipulate the start menu.

So if this is so cool, and do-able, why isn’t everyone using flat desks like the Tron one today? Well for the same reason that I think the Surface is going to see limited use: Tactile Feedback.

Humans, at least for the time being, still like multisensory input. We like the feeling of the keys bouncing against our fingers, or the satisfying click of the mouse as we press it. It’s these tiny subtilities that we don’t think about that make the device usable, and largely unchanged since the inception.

Sure, Surface will have it’s place. I can see it as a big conference room table, or on a conference room wall. Maybe in resturaunts, to place orders or ask for drink refills.

But using the Surface as my desk? No thanks. Not unless it has a USB port for my keyboard!

— END OF LINE —

Thanks for coming!

I just wanted to thank everyone who took the effort to come to the presentation I did tonight on SQL Server Compact Edition at the Birmingham Dot Net Users Group ( http://www.bugdotnet.com ). It was a small crowd but very engaged, all in all a very enjoyable evening for everyone.

As promised, here is a link to the Power Point presentation (in PDF format) I used during the presentation:

SSCE presentation for BUG.Net group

The complete C# and VB.Net code samples were posted April 13th, 2007:

https://arcanecode.wordpress.com/2007/04/13/sql-server-compact-edition-with-c-and-vbnet/

And finally, the series of posts I mentioned on system Views started with this post on April 16th, 2007:

https://arcanecode.wordpress.com/2007/04/16/system-views-in-sql-server-compact-edition-tables/

If you want to see all of my SSCE posts, simply click the SQL Server Compact Edition tag over in the categories area, or use this link:

https://arcanecode.wordpress.com/tag/sql-server-compact-edition/
Thanks again to  everyone, I had a great time and hope came away with a better understanding of SQL Server Compact Edition.

Grok

After listening to last weeks DotNetRocks episode with Scott Stanfield ( http://www.dotnetrocks.com/default.aspx?showNum=244 ) I took at look at Grok Talk ( http://groktalk.com/ ). This is a great site filled with a lot of video training material.

The cool thing is each video is a mere 10 minutes in length. This is awesome for the busy programmer on the go. Now you can easily download and learn something new everyday without a huge investment in time. I highly encourage you to take a look, I plan to watch one video every weekday.

Speaking of free training, I have been asked to speak at the Birmingham Dot Net User Group tomorrow, Tuesday June 12th. The meeting starts at 7 pm, and will take place at the New Horizons training center located at 601 Beacon Pkwy W #106, Birmingham AL. The Windows Live map is at http://shrinkster.com/pv8, or the Google map can be found at http://shrinkster.com/pv7 .

I’ll be speaking on SQL Server Compact Edition, showing you how to get started with this cool technology. My notes and demos are already here, just click the SSCE link under categories. Hope to see you there!

Education the Arcane Way

If you’ve read my blog for a while, you will know I’m a fan of podcasts. They are an opportunity to learn with what Tony Robbins refers to as NET time (No Extra Time). I listen while driving, shopping, cutting the grass, or doing other activities that don’t otherwise involve heavy use of my ears.

One of the complaints I often hear though, when I recommend podcasts as an educational opportunity is “I can’t afford an iPod”. Well, iPod’s are nice, but I don’t have one either. There are other brands, but they can be a bit overpriced from some stores.

So, you want something to play MP3s, but don’t want to shell out big bucks. E-bay is a bit scary, because you don’t know if that seller is really being upfront about that item. As an alternative then, may I suggest keeping an eye on Woot?

What’s Woot you ask? Well Woot ( http://www.woot.com ) has “one deal a day” (although often times they have more deals, if they sell out early). Of late, they have had a huge flood of MP3 players.

Last week on “2fer Tuesday” my wife bought TWO 512 meg MP3 players for 15 bucks. Of course, they were bright pink, but since they were for my daughters that was perfect. Just today they were selling a SanDisk player, 1 gig ram, for 25 dollars. It’s probably a refurb, but since it comes with a new warrenty and Woot has good customer service, you’re not risking anything.

My point is, even if you are a poor, struggling type, you can afford one of these cheap players (even if some of them *are* pink, ugh). Skip that movie rental, pack a lunch a few days, whatever. Getting one of these along with a set of rechargeable batteries will allow you to take advantage all these great educational opportunities, which will pay you back in spades.

Now, I’m sure some will point out that 512 meg or 1 gig is not a lot of ram. You’re right it’s not. But even a small 256 meg player will get you by. Remember, you’re not trying to store your music library on these, you want to load a few podcasts to listen to on the way to and from work, or while exercising.

In looking over my latest MP3 downloads, it looks like 40 meg is about the average size of an hour long podcast at decent quality. That’s 12 shows for a 512 meg player, or 12 hours which should be more than enough even if you listen all day long. Even the 256 meg unit would give 6 hours, plenty even for a long commute plus an hour work out. Then just reload each evening. Most units simply look to the PC like a USB drive, so they should work with any type of OS, such as XP, Vista, Ubuntu, or OS-X (Apple).

A word of safety, most places outlaw driving with headphones on. If you want to use yours on the road stop and pick up a cable to plug it into your car stereos AUX port, or if it has a cassette player you can also use a cassette adapter.

Keep an eye out, and one day you’ll be able to snag your own Woot deal, and be able to take advantage of your NET time to get an education.

If you are looking for a list of podcasts, be sure to check out my Arcane Links page (https://arcanecode.wordpress.com/arcane-links/ ) in the Netcasts area, or my post from August 23rd of last year (https://arcanecode.wordpress.com/2006/08/23/ ).

Standard Disclaimer: I have no financial affiliation with Woot, other than having spent a bunch of my hard earned cash there.

Life with Vista

It’s been about two months since I converted my laptop to run Vista. ( See my April 5th post, https://arcanecode.wordpress.com/2007/04/05/ ). I thought I’d give you a quick update.

So far, I’ve been quite pleased. All of my hardware worked right off the bat, and has continued to work without issues. The only thing I’ve really altered is Aero Glass. I finally turned it off, as several pieces of software didn’t seem to want to work to their fullest with Aero turned on. To be honest, I’ve found it’s not a big loss.

My biggest adjustment has been learning to do things the “Vista” way. I’ve given up on fighting Microsoft, and am storing all of my documents, pictures, MP3s, podcasts, etc in the default Vista folders. I’ve also tried to use a lot of the provided tools, such as Media Player and the built in DVD burner. Some tools though I’m not giving up quite as easily, FireFox being the most notable example.

I’ve left UAC (User Access Control) turned on. So far I haven’t found it to be that big of a deal. About the only time it gets annoying is when I launch Visual Studio. Everything else it’s seemed to figure out and quit asking.

A trick I learned for my fellow laptop owners. Down in the status bar is the power icon. Hovering over it shows something called “Current power plan”. Well if you click on the icon, you are shown a menu.

Probably 90% of the time I’m plugged in, so I run on high performance. For those times though when I am on battery, I find it helpful to switch to Power Saver. Your milage may vary, but I’ve been able to squeeze out over twenty extra minutes of run time by making the switch.

Life with Vista. So far, it’s been a good life.

Passion

I’ve been a bit busy of late and have gotten behind on my blog reading. I recently downloaded a little program for my iPAQ called pRSSreader by David Andrs ( http://pda.jasnapaka.com/ ). This handy little program downloads all my feeds into my PDA so I can read them when I’m away from my desk, which is really nice.

So I’m lying in bed last night reading by the backlight of my iPAQ and catching up on my reading, and ran across an interesting article by Jeff Barnes (http://shrinkster.com/pra or http://jeffbarnes.net/portal/blogs/jeff_barnes/archive/2007/05/21/no-passion-in-the-ms-community.aspx ). Jeff is talking about an blog entry by Mary Jo Foley (http://blogs.zdnet.com/microsoft/?p=429 ) in which she basically says Microsoft lacks an empassioned community, unlike the Sun or Linux communities.

Jeff, and others like Wally McClure (http://shrinkster.com/prb ) and Robert McLaws (http://shrinkster.com/prc ) have done a good job of answering Mary Jo, pointing out the many passionate, active user communities. If I may be so bold, though, I have a slightly different take.

With apologies to John C Dvorak ( http://dvorak.org/blog and http://www.crankygeeks.com/ , geez I’m spreading a lot of link love today) I’m going to put on my “cranky old geek” hat for a few minutes. I remember the early days of Microsoft, back in the mid 80’s when they were still a small, young company. In those days, IBM was the “evil empire”, the Goliath to Microsoft’s David.

There were a lot of vocal, passionate groups at the time, who thought Microsoft could do no wrong. ( No, really, there were. ) In those days MS was primarily known for it’s DOS (Disk Operating System) and development tools. So when a large percentage of your customers are developers, it’s easy to get the perception that your customer base is nothing but hard core devotees.

We were too. We flocked to MS events to see the neat tools they were putting in the hands of developers. I recall how cool we all thought Quick Basic 4 was. We came to Microsoft, because of the tools they offered.

Fast forward to today, 2007. Microsoft is now a huge corporation, with a large selection of products. In contrast, development is now a much smaller part of its base. By far, most of the current customers are using things like Office, or some of the Office Backend products like Exhange or Sharepoint. Now I have to be honest, as cool as I think the new office is, even a MS developer geek like me has a hard time getting excited over a word processor.

In addition, there are a lot of DBAs, Server Admins, and the like who didn’t come to Microsoft. Instead they were old time admins using DB2 or Unix, and as MS made in-roads into these markets, these admins had to pick up the new skills in order to keep up (but not, perhaps, with a great deal of passion). For many of these type people, I think Mary Jo was accurate with her comment about dealing with MS software being ‘just a job’.

In addition, there are many programmers I’ve met who made the transition from some other language (like COBOL) as the mainframe platform they were working on became obsolete. These are folks who learned a Microsoft language just to keep up, or because their company made a change, not because they truly thought the Microsoft tools were the best thing on the market and that’s the direction they wanted to take their career. Again, for these people Microsoft tools were brought to them, not they to MS.

As much as I hate to admit it, Mary Jo is right, but only to an extent. There are people for whom using MS Products is “just job”. Some are system admins, some are DBAs, some are even programmers.

But look around, and you’ll see that old fashioned core of developers. Those same types of people who were there back in the early days. We’re still here today, going to code camps, user groups, and yes even blogging. And baby, we are just as passionate as ever!

Arcane GUI’s: Enabled versus Visible Properties

I was having a discussion with a coworker today about the user interface for his application. There is an Admin menu that the site IT folks will need to setup the application for the first time on a computer.

He was mentioning he was going to make the Admin menu disabled for non IT folks, and instead I suggested he make it invisible. Why? He asked. Good question.

Human nature is the best answer. Your average user is going to be content with what they have, but there will always be those who want more. They are curious about what they are missing out on, or are not satisfied unless they think they are getting the “full” software, even if it’s functions they don’t need.

In large corporations, these folks tend to be, er well rather insistant, and if they have a supervisor who likes to take the easy way out, he may wind up telling IT to grant the user access he shouldn’t have.

Instead, I have a firm design principle: Ignorance is bliss. In this case, if the Admin menu were hidden, the problematic users would never know it even exists, and live in happy igornace, causing problems elsewhere.

So here’s the rule: If there is functionality a user will never have access to, such as an Admin menu, then it should be hidden via the Visible property.

On the other hand, if there is functionality that is enabled or disabled based on the state of the app, use the Enabled property. A good example might be the Copy function on the Edit menu. If no text is selected, then Copy should be disabled as there’s nothing to copy. It servers as a visual cue the user has the application in a state that the Copy function makes no sense. Once text is selected, Copy should be Enabled.

Another example might be a Save function, if the required fields are not completed, disable the Save as a cue to the user he still has work to do.

And there you go, Arcane’s GUI Rule for Enabled versus Visible Properties.