Notes from the States – Day 5: REAL World Second Day (Will won't stop until we drop)

Damn, woke up early again! And neighbour did the same 06:00 alarm and two phone calls thing. Ah well, plenty of time to check email and stuff before heading down for first session at 09:00.

A bit panicked before first session though, couldn’t find my note pad from previous day, definitely wasn’t in my room or bag, so figured I’d left it in my last session the day before (had already left my pad in previous sessions during day, normally I’m pretty good at looking after my stuff but obviously Austin has some strange aurora going on), but of course the room had been cleaned ready for for the next day’s sessions. After a quick look around the room, asked reception whether my note pad had been found, they checked with house-keeping and then Lost And Found but there was no luck. What a pain, I hadn’t only lost my notes from the day before (including Jon’s declares stuff that I found so useful), but the pad has a CD stuck in the back with all the other REAL World sessions and example projects on it! A little depressed and dejected, I decided to double check the last room I’d been in the day before, went right up to the seat I had sat at and guess what I found? Yes, my pad, neatly placed on the chair I’d been sitting at, some kind person had saved my notes, what a relief! I guess I owe house keeping a nice fat tip before I leave.

First session of the day was Will Lesher’s Database 201 presentation where he talked about REALSQLDatabase and how easy it is to use, and the kind of funky stuff you can use it for, e.g. as a fast searchable dictionary replacement. Learnt some important stuff about REALSQL’s time handling, glad I found out about that.
Then Will moved onto REAL SQL Server, which most people were really there to find out about. Looks good, all the benefits of SQLite wrapped up with a multi-user server, with a neat little admin app that allows you to create users and groups, assign users to the groups and give the groups permissions on the server and it’s database’s objects. It’s great, really simple to add databases whether existing (drag and drop) or new, and modify the schema with minimal fuss. Passwords for connecting to the database are sent with a secure encryption scheme, and you can even set all communication to be encrypted.

Second session of the day was Steven Tallent’s XML 101 (if you have a blog or website Steven, let me know, couldn’t find it). I nearly left it because at the beginning of the session he stressed how simple the session was going to be. But I stayed and was very glad I did (actually I did leave, vacating my very comfortable second row seat, but then came back in and sat at the back). Steven’s description of XML and how the DOM (document object model) is handled by RB was very good, I learnt a lot of very seemingly insignificant facts that really are very important (e.g. absolutely everything in XML is a “node”) and a lot more besides. Well worth attending, I may know a thing or two about XML but Steven’s session really solidified some very important stuff for me and gave me some very useful info on how to manage it in RB. Steven, you sell this session much shorter than you should, please do it again next year and don’t put off so many people by describing it as being so simple. This session is a perfect grounding in XML and how it can be used within RB, stop selling it short!

My last session before lunch was Aaron’s Design Patterns session. Again, I’ve already learnt a lot from Aaron’s blog about design patterns, but when it’s discussed and questions asked by other attendees you learn so much more. Aaron’s a great presenter, I’m looking forward to his “Accessibility and You!” talk, but I wish he’d had a chat with Charles Yeoman about his RBDeveloper article about the “Messenger Centre” (proper spelling) pattern, as I think a lot of people would have clicked once they’d had that described. I personally use a variation and much extended version of the Messenger Pattern (threaded) as described by Charles’s article in CaseDetective, and have found it to be extremely flexible and powerful.

Second half of lunch was a presentation by Tylor from Apple. Very fortuitous timing as apparently Apple released a couple of items today. :-)
It was a very good session, he also described a number of ways that Apple can help promote indipendent software vendor’s products and also some other vendors that could help (e.g. SoftwareToGo). I won’t give out his email address, but Tylor also gave himself up as very good point of contact when needing help to get noticed for various initiatives within Apple. But to be honest, you really needed to be at the session to get an idea of how he could help promote you product. What, you didn’t pay over £1500 to go to REAL World but still want to know how to get in contact with Tylor? O.K, try and ask me, go on, I dare you!

After lunch I attended the Debugging Principles and Techniques session by Mars Saxman. Although with negative vanity I would consider myself rather comfortable with the debugger, I was very happy that I attended this session as Mars described a lot of very good ways of making debugging much less painless and explained some ways he hoped the debugger would improve (assuming we furnished the appropriate feature requests, you know what you’ve got to do!!!).

The sixth session of the day I attended was Steven Tallent’s XML 201 presentation. This session was primarily an explanation of XPath, and for this I am eternally grateful. I now have a good understanding of just how powerful XPath really is, and how XPath can be used to access any specific part of an XML document. Steven has presented both his sessions while nursing a broken arm from a skate-boarding accident, and apparently is an expert on dumper trucks.

My last session of the day was “RBScript 101″ presented by Dave Grogono. This presentation proved to be a very good grounding in RBScript, although I did get a feeling that many of the attendees didn’t quite appreciate just how powerful the concept of RBscript is ( no one raised there hands when asked who had experience with RBScript, and I seemed to be the only one asking many questions at the end of the session). With RBscript you can open up parts of your application to your users by allowing them to use RBScript to create equations on instructions that interact directly with your application. When you start to think about the possible applications of RBScript, imagination is the only limitation!

Once the sessions finished I dropped by the REAL World Internet Cafe to get a better internet connection for dealing with my email etc, and to post my last post. Then I got cleaned up and came back downstairs for dinner.

Did you know that this year REAL Software will celebrate their 10th anniversary in May? Pretty cool, although it is just 8 years since REALbasic was first released.

Geof had a few words to say, and I had a great time picking both Jon’s and Will’s minds on various subjects related to REALbasic and REAL SQL Server / SQLite respectively during the dinner with free bar (hooraah for Merlot). In particular I learnt a lot from Will about REAL SQL Server, as well about how not to dance (somehow we ended up back at “Bourbon Rocks” on Sixth Street, and Will showed just how much of a dancing machine he really is). Seeing as it’s nearly 4am and I want to attend Aaron’s session on Accessibility in less that five hours, I guess I should probably sign off now.

Goodnight my friends, sleep tight!

No comments.

  1. Hi Ian,

    Am enjoying your posts about your trip to the states, Austin is a great town, keep up the good work!

  2. Anything more you can say about what you learned in the cocoa session? i’m very curious to hear more…

  3. I’m afraid I didn’t take any notes during the Cocoa session, so can’t say much and be sure it’s factual.

    All I can say is that Jon showed how RB apps built using the Cocoa framework will refresh faster due to Cocoa’s optimized refreshing composite nature. Not that I’ve noticed any problems with the current Carbon based builds.

    He also showed how declares will work just fine with the Cocoa framework, how to use selectors etc.

    Sorry I can’t give you any more, for me it was more of an “interest” thing, rather than being something I have a need for just now.

  4. well thanks for telling me what you can .. so what does it mean that you can use declares with Cocoa .. can you use Cocoa classes and frameworks inside a RB project? And what are selectors? (I know I’ve heard the term, but I forget what they are. I’m clearly not a hardcore programmer)

  5. Hi Pat,

    Declares for Cocoa will work pretty much the same as they do now, once you’ve made the declare you can use the function you’ve declared within your project as if it were a basic RB function or sub routine (you may want to wrap the declare with a function or sub in a module for global scope).