October 2005 Archives

Flurry of Activity

| | Comments (7)
I released two new projects tonight as a "Happy Halloween" for people. Accessing the Parallel Port Using the UnRAR SDK in REALbasic Enjoy, and I hope everyone is having a happy and safe holiday!
I get questions every once in a while about how to do this, or how to do that. And a lot of times, the answer is: use REALbasic, it does it for you. However, for one reason or another, people are unable to stumble on these little gems themselves. So here are two parts of the runtime which I think people aren't always aware of. System.Cursors This handy module gives you access to a bunch of stock cursors which many applications may need. You can use: all the various directional arrows (for things like resizing operations or move operations), finger
I went shopping yesterday and picked up some items for around the house, like blinds, stakes (for the trees) and things like that. Yay for shopping! I also hung out at mom and dad's for a little while before I went grocery shopping, which was nice. Mom and I BSed about some stuff while I helped her transplant parts of her garden (she's bringing a few of the hardier plants indoors for the winter). Last night was Cait's Halloween party. It was a lot of fun -- definetely nice seeing everyone again. It was slightly odd though since it's the
I had the most bizarre dreams last night. I dreamt that I was part of this elaborate world that was a cross between Harry Potter (the teachers were in it, but none of the students), Heroes of Might and Magic IV, and Worms 3D. I had to learn magic spells by defeating teachers in a Worms 3D style fight, but I travelled around the world like you do in HoMM. Oye! This may have something to do with the fact that I played HoMM right after work, then had dinner and played Worms 3D for a bit. And before I

User Challenge Winners

| | Comments (8)
And the winner is.... Elissa, by a landslide! Lol, well darling, you win a beer when I come down for REAL World 2006, and an autographed business card! Congrats! The runner-up is... Carlos! So Carlos, if you're at RW 2006, introduce yourself and I'll buy you a beer. And if you want that business card, just let me know. :-P :: grins :: You guys came up with some crazy stuff, I love it!

Arg! Code Warrior!

| | Comments (4)
So while piddling around with a new feature, I ran into a Code Warrior bug that ate up the better part of half a day of work. And it boiled down to this: From fcntl.h in the Win32 SDK #define _O_RDWR 0x0002 /* open for reading and writing */ From fcntl.h in the CW headers #define _O_RDWR 0x1 /* open the file in read/write mode */ /*- mm 980420 -*/ Damnit anyhow, I wasted over 4 hours trying to track down why my calls to _write were failing, and it turns out that it's because the value being passed in
This is just a minor bug fix for the desktop wallpaper changing application I wrote. This release fixes two annoying bugs: 1) When manually changing wallpapers, it now honors the display preferences (like centered or tiled, etc) instead of just doing stretched only. 2) When choosing Centered, it no longer displays the images as Tiled. Oops. :-P Like I said, this is a minor update. A user brought it to my attention, so I figured I had best fix the bug. Get your latest copy here.

Trivia Answers

| | Comments (7)
1) Of the following symbols, which one(s) are not used in the REALbasic language? \, ^, !, :, =, $ The answer is: ! and $ are not used in RB. \ is the integer divide operator ^ is the pow operator (new to RB2005) : is used in goto labels = is assignment and equality 2) What was the original name of the product, and when did the name change happen? Crossbasic became REALbasic in 1998 3) Which of the following is technically not a keyword in the REALbasic language? shared, static, variable, break, mod, short This one was

REALbasic Trivia

| | Comments (14)
So here's a few trivia questions -- let's see how well you know REALbasic. Note, if you work for REAL Software (or used to work for us), please don't answer the questions since you have a rather unfair advantage. :: coughs :: Mars. :-P 1) Of the following symbols, which one(s) are not used in the REALbasic language? \, ^, !, :, =, $ 2) What was the original name of the product, and when did the name change happen? 3) Which of the following is technically not a keyword in the REALbasic language? shared, static, variable, break, mod, short

Common RB Mistakes

| | Comments (27)
I was thinking back over all the coding mistakes I see people make (and trust me, I see a lot of them -- even in my own code!) and I thought, "hey, this might make for an interesting blog posting." So here it is, some of the more common coding mistakes I see people making (in no particular order). Off-by-one This has got to be one of the most common mistakes I've seen people make. And it's not much of a surprise that it catches people since the framework isn't terribly good at being consistent with whether it's 1-based or

La la la la life!

| | Comments (10)
Hoooo, I do believe it's time for an update. Let's see. Friday was rather much a blur. I worked all day on random stuff (mostly just bug fixes and other boring topics), and when work was over with, I headed out to mom and dad's. My uncle Paul and cousin Josh came up because Josh is checking out local colleges. They were up in Morris on Friday afternoon, and were staying at a hotel in Sartell for the night. But they came over to my parents place to hang out and BS. It was a fun night just chilling over
I said I'd let the contest run for a week, but it turned out to be a little over a week. Here are the results on what to vote for. When voting, please vote for only one entry and please use the entry number as a reference (eg, "I vote for #4"). you must first seduce a pope. horribly obtrusive, offensive Aaron spoofed on Elissa last night bamboo sealapus pixel pictures house exploding Aaron says: Elissa, darlin, I love to kick your ass Elissa says: do we have to go over this again with silicon?? Aaron says: not if your

Debugging (Part Five)

| | Comments (2)
So last time we talked, I promised that we'd take a look at how to debug some real problems in a hands-on way. I never realized just how difficult it was to create applications which need debugging to solve problems -- I usually just stumble on issues naturally instead of try to create issues! ;-) Unfortunately, all the issues I needed to debug in the last week or so are quite complex (some of which I've yet to solve even!) and so I figure I'll start off a little easier. Before we begin, you should download the latest scratch program

Debugging (Part Six)

| | Comments (4)
Now on to the final installment of the debugging series. I basically plan to just tie up some loose ends and explain a few things about debugging to you. Some of it's going to get technical, and some of it you're going to find really useful some day. The first thing I want to discuss is how debugging works. Once you've got a better understanding of how debugging actually functions (it's not magic, I promise), you'll be better equipped to understand situations where debugging is going to fall short. When you hit the Run button in REALbasic, a "debug" version

Another quick note

| | Comments (2)
The RSS feeds should now be working again. It appears they broke some time ago, and I'm quite web-stupid. Thankfully Mike was able to help give me some ideas and together we tracked down the issue.

Whirlwind of Wonders

| | Comments (7)
Well, not really. I'm so totally out of it today. :-P Lis and I had a wonderful last lunch together yesterday at the Olive Garden on Lamar, soups, nummy breadsticks and salads. But then it was time for me to leave TX again, and that sucked. But Lis and I both held up like troopers on the ride over to the airport. Man, there was a ton of traffic on the way over! So we ended up skipping the jam and looping back around the backside of the airport. It sure is handy to be familiar with the city! She

Quick Note

| | Comments (4)
I updated the Examples page so that there's now an example which demonstrates how to transfer a file efficiently. Enjoy!

And then the weekend came

| | Comments (1)
After work on Friday, I went out to dinner with Lis (at Fuddrucker's again since we were craving it). Then Lis, Jennifer, Areen, Lawrence and I went to Slick Willie's to play some pool. Damn did they raise their rates! We only played for like 2.5 hrs and it ended up costing over 50$ for pool and a few drinks. Oh well, all the more reason to get a pool table and put it in the basement of my house. Then I just have to buy drinks. :-P We had a bunch of fun playing pool though, so I don't
Happy day, there's a brand-new version of the Windows Functionality Suite. Version 2.2 is sadly a rather boring release though -- it's mainly released to fix the fact that RB2005r3 reserved the Continue keyword. So if you use the WFS and RB2005, then you'll want to grab this release.

User Challenge!!

| | Comments (10)
I recently was searching through my weblogs, and I came across some more random search strings. For example: "all 12 of you mac users in the world need to get hit with the clue bat" -and- "honey do you think kfc is still open" So here's my fun challenge for you: What is the most random search string (using Google) which finds my blog on the first page of results? You get bonus points if it's the first hit in the results. Post your search strings here, and the winner will get... I dunno, a beer at REAL World 2006

REALbasic 2005r4 Released

| | Comments (6)
Run right out and get your copy here. My personal favorites in this release are: MessageDialogs display correctly again on Windows instead of getting min/max/close buttons. StaticTexts now work properly again on Windows (though this does remove my previous happy behavior of working properly with screen readers and in high contrast mode, etc.). External Items are much easier to use again. There's a bunch of good fixes in this release. It was a nice short cycle so that we could get the important stuff out to you guys without having to wait a full 3 months (since some of these

Debugging (Part Four)

| | Comments (2)
Last time, we started sneaking around the object viewer in the debugger. We learned neat tricks like the ability to switch how we view integer data, as well as seeing that the object viewer shows you more than just intrinsic data. Today we're going to see some more of the powerful object viewers. And we'll start out with the one which lets you see everything. Take out our scratch program and hit Run. Before clicking the pushbutton, let's learn a new quick trick. Let's say your application is running in a loop somewhere, and you want to know where it's
I was signing up for WinQual, and I got stumped at the password requirements: Password Requirements: A password must: be at least 8 characters long and no longer than 16 characters have at least 1 lower-case alphabetic character have at least 1 upper-case alphabetic character have at least 1 number have at least 1 punctuation character/symbol have at least 1 non-alpha (number or a punctuation/symbol) within the 2nd to 6th character Holy moly! The rules are so complex, I need to write my password down just to verify that I meet the requirements. Talk about a stupid system -- any

Debugging (Part Three)

| | Comments (3)
Last time, we took our first look at the debugger in RB2005 and started exploring how to get around in it. Today, we're going to go a little deeper into the object viewer so that you have a better understanding of just how powerful a software debugger is. Let's start out by getting a little more familar with the object viewer. Back in our scratch program, you've got a breakpoint set on the MsgBox line in the Foobar method (if you don't -- you should put one there now). When you run the application and click the button, you'll break

Life in Texas

| | Comments (5)
I got up for my flight down to Austin at the crack of way the hell to early (a little before 4am) and my uncle Paul drove me over to the airport. I sat on the airplanes and did some work-type stuff (mostly reading) as well as dozed a little (hey, it was EARLY damnit!) and arrived in Austin at about 11am. Da ta! At about noon I got dropped off at Elissa's apartment and had a pleasant surprise -- she skipped her physics class so we could hang out together until she had to go to work. About 1:30

Debugging (Part Two)

| | Comments (3)
Last time we started discussing the various methods of debugging your application as well as some basic definitions that we'll be using throughout the series. Today we're going to get started on debugging our very first application. So that everyone can be on the same page with this discussion, we're going to create a scratch program that we will be using as an example. So fire up your copy of REALbasic 2005r3 -- you should now be staring at a new, blank project. Open up Window1, add a PushButton to the window. Double click the PushButton, and in its Action

Cool new link I found

| | Comments (5)
RIAA Radar (http://www.magnetbox.com/riaa/) You can check to see if the music you're purchasing is from an RIAA cartel member or not. If it is, and you really want your music -- buy it second-hand from eBay or a local record store.

Debugging (Part One)

| | Comments (8)
Welcome to part one of X (where X = however many postings it takes) of debugging in REALbasic. I'll start out by discussing what debugging is, and why you must do it if you wish to be successful at programming. Then I'll move on to how to debug in REALbasic (for this part of the discussion, I'll be using REALbasic 2005's debugger), starting out with the basics, and moving on to steadily more advanced debugging techniques. Finally, I'll also be discussing how debugging actually works (from the computer's point of view), and why remote debugging is an important tool in
I've been having one of those blank minded mornings. I figured I would write a nice post about some neat thing in REALbasic which you hadn't known before, but then every time I thought of something, I realized I'd already written about it before. That's not to say that there's not more new things in REALbasic -- it just means that I talk too much. ;-) So what sort of things are you interested in hearing about? In other news... It rained here all day yesterday. And I really do mean all day. I woke up to the sound of
That's right, I said personal. :-P The old UI works well enough on some platforms for getting your work done. If you happen to be on a Mac, then you can move your little windows to one of your twelve cinema display monitors and gleefully code. If you happen to be on Windows, well.... you can still get your work done (aside from the strange keyboard combinations which trigger all sorts of unfortunate things). But, let's face it, you could use the old UI. So why did it have to change? Two reasons, both of which were very highly requested
I've heard story after story about how Bush and his bible-thumping pals want to oust the concept of evolution as the way people came into being, and teach intelligent design in tandem (or in some cases, instead). I want to clear something up here. Intelligent design is not science. Science is a process by which people come up with a hypothesis, test their guess, and constantly refine until they've got something which is a reasonable approximation of correct. Are there mistakes? Certainly! However, it's a process that's worked quite well for humans. However, intelligent design throws this concept on it

Interfaces

| | Comments (5)
You've probably heard of them, and you may have never used one because you're not quite certain why you'd want to. What are these "interface" thingers, and why should you care about? In its simplest form, an interface is a contract which says "anyone who implements me will for sure have these methods." Let's dig deeper into why this is a very important thing for OO programming. Let's say you'd like to make a method which takes a generic object of varying types and be able to have it perform some common operation. Let's also say that these varying types
You can use the RB DNS resolver for resolving things other than IP address and DNS addresses. For example, it'll resolve NetBIOS addresses as well. Let's say I've got two machines on the network with the "names" MiniCompy and WinRocks. And by names, I mean, this is the "network" name for the machine -- it's the name that shows up in when browsing samba shares, for example. I can simply tell my socket to connect to one of them, like this: [rbcode] TCPSocket1.Port = 8080 TCPSocket1.Address = "MiniCompy" TCPSocket1.Connect [/rbcode] The DNS resolver will figure out that this is a

Gorgeous!

| | Comments (8)
Man, I am so glad to be living in Minnesota. It's absolutely stunning this time of year. Today, it's 77 degrees outside, sunny, and the leaves are really starting to change colors, so everywhere you look it's reds, yellows, oranges and greens. Fall is by far my favorite time of year to be living here (though I actually enjoy all the seasons here and am really looking forward to winter because it's been so long!). So I've spent part of my day doing outdoors work. Digging holes, things like that. I made a plumbing repair to the sprinkler system as

Blogroll

Friends
REALbasic Related
Win32 Programming

Disclaimer

I'm currently an employee of REAL Software. My blog is mine. The opinions represented in this blog are mine as well and may not represent my employer's opinions. All original material is copyrighted and property of the author.

REALbasic® is a registered trademark of REAL Software, Inc. REAL SQL Server™ and Lingua™ are pending trademarks of REAL Software, Inc. All rights reserved.