Previously, I brought up a hypothetical API discussion to see what different people thought about the idea. The basic premise of the discussion was: what do you do when you've published an API to interact with something, and then the rules for that interaction change? Now I want to make that hypothetical discussion more concrete with a real world issue that's interesting to me. But, I want to preface this with: this post has no bearing on reality. Anything we discuss here is purely academic. I'm in no way saying that REAL Software is going to do something, change anything,
October 2007 Archives
So here's an interesting question that I'd like to pose to my silent readership: how would *you* solve this particular issue, and why would you solve it in that particular way. Let's say you have a published API called Foobar, and Foobar's job is to tell you whether the user can access a particular resource. This API was sensible when you first published it, but over the years, the operating system has changed the game a bit. Now the OS has decided that the user can have "pretend access" to a particular resource in some circumstances, but they don't have
I learned of two rather interesting RegistryItem factoids while playing around tonight that I thought I'd share with others. One appears to be an oversight with the API and a way around it, while the other appears to be a mysterious bug that took a while to track down (and a way around it as well). First, the oversight. It appears that there is no way to get the name of a *folder* for a given registry item -- you can only get the names of *keys*. This can be rather problematic if you're attempting to search both names and
Everyone on the net seems to think this is impossible to do... however, they're wrong. You can exclude files and folders from Vista's backup and restore by adding them to the FilesNotToBackup registry key, which lives under HKLM\System\CurrentControlSet\Control\BackupRestore. For instance, I don't want to back up my virtual machines for Virtual PC (why back up 4+ GB of stuff that's meant to be ephemeral??), so I added this to my registry: Name=VirtualPC Value="C:\Users\Aaron Ballman\Documents\My Virtual Machines\*" That will exclude all files and folders within my virtual machine folder. For more information about this and some official documentation, see MSDN.
One concept which has been around for the last few years on the Windows market is one of generic application commands that hardware can generate and software can implement. For instance, newer keyboards come with all these fancy buttons in strange places that do things like open up the web browser, email, etc. Another common one is on multi-button mice. My last two five-button mouses have had two buttons devoted to back and forward functionality in browsing situations (like web and file browsers). This functionality is what I mean when I say "hardware-generated application commands." So how do you handle
(If you're looking for technical details, you're going to be unhappy -- this is a personal post.) It's been a very nice, relaxing past few days at the Ballman/Wampler household. Friday was mostly an off-day from work, so after trying to solve some VPN issues, the day was pretty much my own. I spent it shopping, of all things. If you know me, then you know just how much I can't stand shopping. However, there was enough justification to go out and do it. :-P I started out at Circuit City, looking for some computer equipment. My 12+ year old
So there's been some speculation on the forums as to why I've left (and Mike, but he can speak for himself if he feels like it). Having been a very active participant in them for the past two years, I think it's reasonable that I say my piece instead of everyone guessing what's going on. Two years ago, Mike and I started the forums as an experiment. We both love forums and prefer them to mailing lists when it comes to the dissemination of information. However, I started the forums off as a very minor idea. It was never intended
One of the other new features in REALbasic 2007r4 was a quiet, sneaky one -- the ability to debug plugins on any platform. In years past, you could debug plugins if you knew the special magic dance for a given platform. But there was never any officially sanctioned way to debug plugins, and the magic dance would change from release to release. For instance, the move from 5.5 to 2005 totally broke plugin debugging on Windows. I don't think Linux ever had a way to debug plugins, and Mach-O was certainly not a walk in the park. However, those days
This is a new design-time property on the Window class that appeared in 2007r4, and it appears that some people are confused by what it is, and why you'd use it. Before you can understand why you should care about this new property, you need to understand what an implicit instance is: Since the dawn of REALbasic, you have been allowed to refer to windows by name as if they truly existed. If one didn't exist, one would be created for you -- and everything was magical and wonderful and so forth. Essentially, a window's name implicitly meant that the
So I learned something rather new today about Operator_Convert: if you are using the conversion *from* version of the overload, then an instance is created for you! It makes sense, once you think about it for a while, but it certainly isn't clearly documented. Imagine this scenario: Sub Operator_Convert( i as Integer ) mSomeInt = i End Sub Oftentimes, I would write code like this: dim foo as new Bar foo = 12 and the reason I would write it that way is because I was assuming that the compiler would essentially treat the assignment like this: foo.Operator_Convert( 12 )