Charlie asked, "What is your number 1 rated feature request for REALbasic? I mean personally, what would you like to implement the most? It has to be a feasible feature - not “programming by thoughtâ€, although that would be awesome!" Great question! There's a number of things that I'd really like to see implemented, such as: A better underlying menu architecture that supports icons, has better shortcut support, and just generally works nicer. Native PE32 and ELF linkers for the compiler. More data types like unsigned integer, short, byte, currency, BCD numbers, etc. A ton of IDE features that help
July 2005 Archives
So after spending a grand total of about 26 hours at the house in the last three days, I finally have my laminate floor laid. So while taking a minor break from house stuff today, I uploaded all the new pictures to my site. There's pictures of the new floor, the new light fixtures and even doors! Wahoo! ;-) And as an extra-added bonus, I put up a new QuickTime movie tour of the house. Be patient though, it's almost 40 MB, so it may take a while to load. :-P You can find the tour here. Enjoy! My plans
Geoff and Matt just asked me to go to PDC this year in LA. Yay! I'm having a hard time figuring out which sessions I want to attend because there are too many of them that I'd love to go to. It's nice to have that sort of a problem when going to a developer's conference. ;-) I'm hoping I can find and at least say hello to Raymond Chen and Sarah Ford, if not ask them some questions about stuff. I read their blogs on a daily basis and they both have many interesting things to say. I'll be
If you had just one question that you'd like me to answer, what would it be? It can be programming related, or personal, or whatever. If it's possible for me to answer (or "legal" -- meaning that I won't be answering any trade secret questions), then I'll try to do so. I may turn the more interesting questions into entire blog postings, or I may answer the question within the comments section for this post. This should be interesting. :-P
Here's something that's perilously not documented, and the IDE doesn't currently restrict: the length of the different pieces of version information on Windows. FileVersion: 39 bytes Region: 21 bytes Release: 11 bytes PackageInfo: 253 bytes LongVersion: 79 bytes ShortVersion: 39 bytes Some of these don't really matter, such as file version or release. Release doesn't matter because the longest string possible is Development which is 11 bytes. File version doesn't matter because none of the version parts can exceed 255, so that means (including periods) the max string can be 255.255.255.255 which is a measly 15 bytes. But some of
I have the dining room floor fully laminated and the kitchen floor 3/4 of the way done. Needless to say, I'm exhausted. But I'm taking tomorrow off to finish the kitchen and get the entryway done as well. Hopefully I'll be all finished with my flooring tasks by tomorrow night! Wish me luck. Now I'm off to fall face-first into a pillow. G'night.
In the not so distance past, Congress has decided to change daylight savings time. Their thought is that with more "daylight", we will conserve more energy. I would venture to guess we'll pay more money to fix the myriad of issues this horrible idea than we'll save in energy bills. I've seen estimates range anywhere from .5% to 5% savings. Yes, on the large scale, that's a fairly hefty amount of oil saved. However, think about this: All computers must now be updated to account for these changes Not everyone gives a rat's ass about DST, like Arizona. Every piece
So one of the things that I do in my infinite spare time is wade thru people's bug reports as if I were a tester. The report comes in, and it gets stuck in a list, and I'll review and respond to them before testing gets to them simply because the subject may catch my attention. For example, if I see a report that corresponds to an area of the code base I've recently been in, then I know I'll just end up with that report on my plate sooner or later, and I'd rather make it sooner. Because I
It's the "easiest" control to use in REALbasic -- the StaticText. You drag one onto the window, position it where you'd like and you're done ever thinking about it. It's also one of the most important controls you'll ever use when designing an application. It's the only control that lets you give information to the user about what's going on. How else will the user know what that EditField means? Or a ListBox? Or just about any control aside from button-like objects for that matter. Since it's such an important piece of UI, I think it warrants a bit of
My 2nd grade neighbors are trying to move in on her territory. I was sitting at home last night working on a secret framework change (that won't be checked in until r3a1, so you can settle down) and basically just geeking out. So I'm coding away and I hear the doorbell ring. Mom was already up, so she went and got the door -- it was my two neighbors (I think both are in 2nd grade or so), Courtney and Kylie. They made some Kool Aid punch and brought over a glass for me. Not mom... Not dad... Just me.
I finally got around to updating the house picture site, so now there's new pictures up. The pictures range from 7/9 to 7/21, so they're pretty recent. You can see some of the awesome progress we've been making -- like cabinets and light fixtures! w00t!
So I was browsing around the web and I ran into a very interesting blog posting from Hippie Tim about drag and drop gone wonky in Windows. Some of them I knew already, such as: You can grab the icon in the address bar in Explorer because it's a drag source. Drop it somewhere and you've got a link. The favorites bar is a drop target -- drop a drag source onto it and you have a new favorites in Internet Explorer. The Home button in Internet Explorer is a drop target as well -- it sets the home page.
I took an educational day today so I could learn a bit more about software accessibility, especially on Windows. It was time well-spent. It's a very interesting topic, and I learned an awful lot. I did a bunch of accessibility testing on the IDE and the framework in general, and found just where we are doing poorly. Then I devised a road-map of features that would bring us up to speed and make the product better. I ended up sending a 10 page email to the staff discussing the topic and giving reports and recommendations. LoL, I'm sure people will
I got up an hour early this morning because the forces of the universe were conspiring against my getting a decent amount of sleep. Did a little bug fixing, did a little question answering, and did a little general putzery. Then my aunt Patty came up to visit for a while, so I BSed with her for a bit. Mom and Patty (they're sisters) went chasing around for a while to go see the sights around here. Yaw hee! I ended up taking a half day off work today though. I had to get my floor's joints sanded down so
One question that I've seen come up countless times in various forms is "why is my drawing so flickery?" Simple -- you made it that way. ;-) Some operating systems, such as OS X and Linux, automatically double buffer screen redraws for you. This means that you have to work very hard to cause an application to have flickery drawing on it. However, other operating systems such as Windows or Classic do not automatically double buffer for you. So if you're drawing something yourself, it's quite easy to make it flickery if you take the naive approach. The way to
So I was browsing back thru the old Ramblings site, checking out all my old comics. Man, I miss doing those! They were so dorky, yet fun. So chip in to the buy Aaron a Wacom Tablet fund and I'll draw you a special comic or two! I probably won't ever try going back to the three comics a week schedule since I just don't have the time for it. But I think I could easily get a random comic or two done a week without an issue. Schedules hurt my creativity. ;-)
A common question I've fielded over the years is how to make a constructor method for a module. The problem is -- a module is not a class; it does not have a constructor, just like it doesn't have a super, or a vtable, etc. It's just a namespace (with scoping rules) around a group of methods, properties and constants. But there are times when you want to create a module full of functionality that just doesn't make sense as a class, but still needs to have some sort of automatic initialization. For example, let's say you're going to make
Insanely hot weather and more house work -- that's about it. The painting was finished on Friday, so the house is now a glaring white inside. It looks quite institutional since there were no other colors showing to break the walls and the ceiling up. However, I got almost all the window jambs installed, the floors cleaned and even some of the casings up. There's only one window left to do upstairs in terms of jambs, and that's because we're missing the jambs for it. The window in the kitchen (above the sink) is totally finished, casings and all. Also,
Have you ever wondered how REALbasic is able to let you refer to menus by name, and how that works? For example, if you have a MenuItem named SpiffyMenu, then you can write code that accesses the SpiffyMenu item by name, like this: [rbcode] SpiffyMenu.Text = "&New Text" SpiffyMenu.Tag = new Dictionary[/rbcode] Well, it's a simple magical namespace that REALbasic provides for you. And whenever you hear "magical", you know it's going to be interesting. Each class has its own namespace which defines a certain set of scope rules. So, for example, if you have the following class structure: [rbcode]
So my recent thread on a call for bugs brought up an interesting point -- I really don't know much about my readership in terms of what they program for/on. My web stats show that most of the people who browse my blog are Windows users, so I assumed the Windows-centric call for bugs was reasonable. Time to find out from real people instead of unreliable web stats though. 1) What platform do you mainly program on? 2) What platform do you mainly target your application for? 3) What platform do you usually use for non-programming tasks? And just for
At least, that's my hope in terms of getting the house finished. I'm still shooting for moving in sometime in early Aug, and so that means it's less than a month away. I finished the sheetrocking last night, and this week has been a very busy home-week. The mudder and tapers are finished, the ceiling is now textured as well as the walls. The painter is out right now getting all the paint applied. My flooring guy is going to sneak out and get the 1/4" underlayment down for the bathroom. On Monday the cabinets are being installed. I just
'Nuff said.
Ok, so I'm going to try something new here. I'm not certain how well it will work, what sort of feedback I'm going to get, and whether I'll even follow thru with my idea. There are times when I need to shut my brain down (so to speak) and work on simple to fix bugs. These are usually cosmetic issues such as "the color of such and so is wrong" or "bleh is 2 pixels too wide". Basically, things that take So here's where I try something new. I'm going to give a list of requirements, and you're going to
This is something that I just assumed was such a basic concept that I'd never have to explain it. But I've seen a number of people comment on what a horrible problem this is, so I felt I should discuss this a bit. In case you're just coming in from the cold -- event orders are different on different platforms. This is a given IMHO. Just like the widgets look different between platforms, the order that the OS alerts you of events can be different. And this isn't as huge of a problem as people tend to make it out
Funny story time. My family always takes a vacation at least once a summer, and we typically rent a cabin up in north MN near Black Duck. So one summer about a ten years back or so, we head up there, get into our cabin, and started a week-long vacation of fishing. The place we were staying at has about two dozen cabins strewn all over this little lake (called Bad Medicine lake), and they're almost always full during the summer. Generally, we get up there right as the dragon-fly and mayfly hatches occur, so there's always a ton of
You're supposed to put stuff in bold if you've done it before. I Have... smoked a cigarette smoked a cigar smoked a joint crashed someone's car stolen a car been in love been dumped been fired been in a fist fight snuck out of my parent's house had feelings for someone who didn't have them back been arrested made out with a stranger gone on a blind date lied to a friend had a crush on a teacher been to Europe skipped school seen someone die been to Canada been to Mexico been on a plane seen the Rocky Horror
There's new pictures online of the house, which can be found here. And, as an extra added bonus, I have pictures posted online of the family reunion, here.
So I got annoyed at various cosmetic issues in the IDE yesterday, so I went on a cosmetic issue streak. Here's the list of bugs tackled so far: 1) Listboxes now show the proper non-focused selection highlight. This way you can tell where the focus is within the IDE without using the mouse or pressing keys. This was a framework bug, so everyone get this little gem. 2) Selection handles in the window editor are now drawn according to the Windows User Experience documentation (for the Win32 IDE). This bothered me because we had it exactly *backwards* before. We'd draw
So I finally finished sheetrocking the interior of the house last night. Dad and I were out there until about 10pm shimming tiny pieces into place and trimming them off once they're up there. Once we were done with everything, we had to move all the left-over sheets of sheetrock down into the basement so that I can use them whenever I get around to finishing that off. So that little "2-4 hrs left" part of the project ended up being more like "10-12 hrs left." Oops! They're going to be blowing insulation today (through the garage, in case you're
Better IDE support for Windows Better keyboard shortcuts that don't involve using the Alt key More contextual menu support, including supporting the contextual menu key More keyboard accessible (tab orders are correct, you can tab into almost anything sensible -- except the diclosure triangle in the code editor, grrr!) Looks like a Windows app when running on Windows instead of looking like a Mac app ported to Windows The documentation is less Mac-centric and now more platform agnostic, with even a tinge of being Windows-centric in places TrayItem support Support for 32-bit icons in Windows, as well as 48x48
I spent part of the weekend adding documentation to the WFSWiki and got a fair amount done. The Mouse module and StatusBar class are now completely documented instead of having only partial implementations. But the most headway was made by starting the documentation for all the modules. I don't have any of the actual method-level stuff there, but just getting the entire module definitions started was quite an undertaking and took several hours. Unfortunately, I left the three largest modules for last: Win32DeclareLibrary, SystemMetrics and SystemParameters. Getting those started will take quite some time I suspect. And that's just the
So we had a family reunion on Sunday, which also entailed a pig roast. I got a ton of pictures from it, none of which are posted online yet. That's because I need to find a new set of batteries for my camera! I had a great time going, even though I was exhausted. The stupid cat woke me up at least 5 or 6 times the night before, so I got almost no sleep. Couple that with almost 12 hrs of sheetrocking, and I was a hurting puppy. In any event, dad and I got there mid-morning (it was
Phew, another 12 hours of sheetrocking done today. Dad and I went out to the house and got almost everything finished. We have to stub some pieces into the closets, and have one full wall left to do in the kitchen, that's *it*. Basically, we've got about another 2-3 sheets work of stuff to put up and the house is totally done. Yay! We'll get to that Monday sometime. However, that doesn't mean I'm done sheetrocking -- next week I start on the garage. Thankfully, I just have to do the firewall (the two walls touching the house) and the
8am: woke up 8:15am: answered emails and posts on realgurus 9am: drove out to Lumber One in Avon so I could pick out my bedroom carpets, get some more sheetrocking nails, get Jim to send out the sheetrock for the garage, find out when my door's will be lockable and check out the price of paint. 10:30am: left Lumber One, headed into Home Depot in St Cloud. Had to check their prices on paint, see if my floodlight came in, catch up with old coworkers, get some gang boxes and cat 5 adapters (I decided I was going to do