Yes, that's right -- I now have a basement! Or at least, what is finally beginning to look like a basement. At 7am, the guys woke me up to deliver 60 sheets of rock to put on the wall. It took them a while to get em all downstairs because one of the guys fell and hurt himself. But by 8am, the rockers were already slapping sheets onto the walls. At about 1pm, everything was finished. So what would have take me about three weeks to accomplish took their crew about 5 hours to do. It sure does change the
November 2006 Archives
When you are writing files out to disk, and you want to ensure that the operation completes properly, you should do something called a "safe copy." What this prevents are corrupt files when things like power outages happen. Let's say your application is busy saving a 100 MB file out to disk, and the user accidentally kicks the power cord on the desktop. If you're not doing a safe copy, then the file's state is essentially corrupt because it wasn't able to write all of the data out. However, by doing a safe copy, what happens is that the file
Like many Win32 programmers, I've used the SetWindowPos API as a way to modify a window's position, size, z-ordering, frame type, etc. However, I've always had a bit of confusion over some of the flags that get passed in. Specifically, the SWP_NOZORDER flag vs the SWP_NOOWNERZORDER flag. I never really ran into a situation where I had to care about the difference between these flags. Today, while fixing a small REALbasic bug, I learned the difference. The bug happened when we'd call SetWindowPos on a tooltip so that we could ensure that it was a topmost window that floats above
I spent the better part of my day working on articles for RBLibrary.com One article is done and posted (an article about RBScript). The other two are pretty sweet too. One is on writing plugins for your application. The other is about container controls. But editing has taken up almost the entire day for me. It's fun, don't get me wrong. But it's also hard. I did get some non-RB work done too! I managed to get all of my Fall decorations taken down, and all of my x-mas decorations put out. By the time Lis moves up here, the
I just got my new laptop today, and boy, does it rock! I've been playing with it mostly using the tablet mode, and have been really impressed with Microsoft. Their handwriting recognizer is truly amazing. It does make some mistakes, but it is learning my handwriting really quickly. I started playing with XP Tablet edition initially, but switched over to Vista to see which I liked more. I definitely like Vista more! The input tool in Vista is much more integrated than the one in XP. Heck, I can even code in REALbasic's code editor using only pen input! Some
I hope everyone has a wonderful, safe and fun Thanksgiving holiday (for those of us who celebrate it today)! I'm going to be heading down to the farm pretty quick here for a family celebration at my grandparent's place. Not looking forward to the 2.5 hour drive, but then again, I shouldn't have to deal with traffic either. ;-) I'll probably be back sometime tonight, fat and happy. What plans do others have? And just because I'm strange... if you're not having turkey for your celebratory feast, what are you having instead? I think we're having a ham at mine
Sometime last night, the REALbasic user forums hit a fairly major milestone: over 50,000 posts! What's amazing is that it did this in just barely over a year's time. It sure didn't take long to pick up steam, did it? The forums are easily one of the most productive and helpful tools in the REALbasic user's toolkit -- so many smart people who are willing to donate their time to give you personalized help in solving your problems. In a related note, I took a peek at my user statistics, and I found that I make up almost 10% of
This time for sure! The problem was that I defined a Rect and Point class, but some plugins also define classes with the same names. This happened to expose a bug with the compiler that would fail an assertion in Classes.cpp. So the workaround was to remove the plugin, but that's a crappy workaround. So I ended up renaming all of the helper classes to be prefixed with GdiPlus. So Rect because GdiPlusRect. If you plan to use AGW in your own projects, I would highly recommend using 1.0.2 because the name change is fresh and you probably don't have
I'm really stoked because very soon (crossing my fingers) I will have moved ramblings (and my main site) over to babbage-tech servers and off 3shost. Part of this awesome transition is the fact that I'm finally updating my blogging software. I'm using an old version of WP, and when the upgrade happens, I'll be using a new version of Movable Type. I played around with it a bit while trying to find blogging software that meets my needs, and I suspect it's going to be very awesome. However, I am a bit worried as I have seen some people have
Where to begin? Ok, so on Friday, I did something. However, I don't really recall what it was. Normally, this would mean I had an overly good time, but alas, it doesn't mean that this time. It just means I'm forgetful. However, on Saturday, I had real fun. I did chores (not the fun part), went over to mom and dad's place for a nice lunch (sorta fun), helped rake their yard for the third time this fall (still not the fun part) and then went bowling with Dana, Nate, Lou and Steve (finally, the fun part!). My first game
Well, I think I've got everything installed and setup (with the exception of the latest MSDN download). I grabbed my copy of the Vista RTM late last night and it finished downloaded in the wee hours of the morning. So when I got up this morning, I started my monster backup (big backups for me are about 3-5 GB of data and take a few hours). Before lunch I was already installing the release of Vista. After lunch, it was configuration time, and getting my myriad of applications reinstalled. I decided to go with an entirely clean wipe (including reformat)
Today has been a good day. My PayPal account is back up and running, so I've restored my donations link to point to my normal account. Yay, I can accept all those millions of dollars again. :-P I'm quite happy about this, because I hate when I release an awesome product like Advanced Graphics for Windows and don't really have a way to accept donations. But that's not all. I bought me a new lappy whose name is tabby. Yes, that's right, I have a tablet PC coming my way. A convertible, actually. It's one of those spiffy laptops where
I used to have a very lax view of licensing my projects -- basically, everything was free for you to use and la la la. However, as some people have pointed out, they'd appreciate a more legal license that they can point their lawyers to and say "look, see, I can do what I want with this." I can understand that, so I've now got an official licensing disclaimer, which can be found here: http://www.aaronballman.com/license.html I'm using the MIT license, which basically says "use it, but there are no warranties." The insanely astute may notice that this new license does
After months of hemming and hawing about what to do with the GDI+ library, I've finally settled on something that should make REALbasic users very happy. I'm proud to announce that Advanced Graphics for Windows is now available for download. What's better than that, you say? Why, the fact that it's free, of course! Months of labor and toil, long nights, and dirty looks from Lis have brought you over 40 project items spanning the entire GDI+ set of functionality, all packaged up in a great, object-oriented set of REALbasic classes. So the same power and utility C++ and .NET
Since Oct 22, I've not been able to receive donations on my site because PayPal arbitrarily restricted access to my account. Now, a full 22 days later, I'm still unable to receive donations -- thank you very much PayPal. So I decided to simply make a new PayPal account under a different email address and leave it unverified. So the donations page is back up and running. Hopefully someday PayPal will pull their head out of their collective asses and re-activate my usual account (which, btw, has money sitting in it which I have no way to access) so that
I spent my Friday night staying up late and working on an article for RB Developer/RBLibrary, and got it most of the way done. Unfortunately, I've just not had the chance to finish it up, but hopefully will get to it tonight. Saturday was cleaning day since I was having company over. So I got the house in reasonably good shape (not the best it could have been, but better than it was before). My cousin Kelly got over around 3pm, and we BSed for a while until her brother Andy got over. Then we had a few beers, Andy
So while doing my daily regiment of old bug reports, I noticed that there's a fair amount of confusion with some of the fields in the feedback system. There's a field called "Report State Change Request" which seems to be particularly bothersome, and I can understand why (even if English is your first language). Some people read it as: "I am requesting that when my report's state has changed...", whereas others read it like this: "I am requesting that my report's state be changed..." and still others read it like this: "I am reporting that my the state of this
So now that it's getting back towards the winter months (at least on this side of the equator) and people are getting more time on their hands, RBLibrary.com is looking for authors. This past year (almost -- it'll be one year towards the end of January) has been *very* good for RBLibrary, and we're looking forward to next year being even better. However, we couldn't be doing as well as we are without the help of an awesome staff of authors. So are you interested in making some good money while simultaneously showing the RB community your brilliance? Do you
So I'm looking at getting a new laptop, because the one I have is getting rather slow. However, I do have one question which is rather bothering me. Do people like that bright shiny screen on their laptops, or is the normal LCD screen better? What are the advantages and disadvantages of both? And by that, I mean in practice, not in market-speak-theory. ;-) If you have the shiny screen, are you happy with it? What situations do you find it problematic? Stuff like that. Thanks guys!
If you live in the US and are of voting age, get out and vote! I did, and they gave me a sticker for it to boot. :-P The other fun things in the life of Aaron are: nothing! That's right, not much. It's been a rather dull and unproductive day. I've been working on some StatusBar changes for the IDE lately, but they're proving to be a lot more difficult to do in REALbasic than they were to do in a plugin. But, using a plugin is still a royal PITA because then I'd have to make a Mac
Aren't you just overjoyed to have me back again? ;-) I just got back around 1pm today to a cat who seems to have missed me. So here's the story of my weekend: Dad came over about noonish with the scamp in tow and we headed out from here. We made it all the way thru the cities before we blew a tire on the scamp. If we had to blow a tire, we couldn't have done it any better. Had it blown 10 minutes earlier, we'd have been in the middle lane of the tunnel in St Paul. Yeesh!
It's that time of year again: deer hunting season. I'm going to be down in the Whitewater area of Minnesota with dad and my uncle Otto for the weekend. The plan is to be gone this afternoon and come back sometime Monday, but if we get our deer earlier, then we're going to come home. This year we're going to be camping down in the valley instead of up in the farm hill. So this should be interesting -- I've not been down there for a long time. Since I don't hunt (I just eat the deer, I don't shoot
I've written a new addition to the RBLibrary.com collection called "Polishing your Application." As you can imagine, it's about how to create a professional piece of software and details many of the little nuances that are easy to overlook. The article is light on code because many of the concepts discussed are generic in that they apply to every application, but narrow in that how and where you need to apply the concepts is specific to your application's needs. I'd highly recommend you go out and grab a copy of this -- it's 15 pages long and packed with a
Debugging tools, debugging tools, debugging tools! That alone is reason enough for me to do all of my C++ dev work in VS 2005. It tracks down bugs for me, which is exactly what I want in a debugger. There are three bugs which are easy to overlook which I can recall Visual Studio helping me to track down: 1) Using an uninitialized variable. This comes up fairly infrequently because I initialize everything when I write C code. But every once in a while I inherit some ancient code which doesn't adhere to our coding standards, and that can be