Archive

Archive for September, 2008

Managing SQLite Databases

September 30th, 2008 Comments off

I suspect that one of the problems is that SQLiteManager from SQLabs hasn’t been updated in a year and a half and that RB’s version of SQLite probably HAS been updated (though I could be totally wrong on this one).  I should note that the SQLabs blog talks about version 3 but gives no projected release date.  As an alternative I suppose I could use the built-in browser in the IDE but I don’t find it convenient in any way and find an external app to do a better job.

For a change of pace I didn’t use the use RB Forums and decided to do a generic Google search.  I quickly came across a few Windows-only utilities that don’t do me much good since I do most of my RB development on the Mac.  I then ran across a FireFox plugin and tried it out.  The plugin was updated last week, which makes it current.

I’m impressed.  It works just like you’d expect an SQLite manager to work. The UI is lacking refinement (in some cases downright ugly), but it seems to do the job without giving me the odd errors that SQLiteManager was giving me.  I’ll keep using it until I find something better and more useful.

What SQLite utilities are you running?  What platform is it on?  How much does it cost.

Categories: Opinion, REALbasic Tags:

Politics

September 15th, 2008 Comments off

There’s an old saying (at least where I grew up in Northern Illinois) that there are a couple of things you don’t talk about in ‘polite’ conversation: Religion, Sex, and Politics.  I find the current trend of weaving political commentary into non-political news and opinions to be less than ideal.

The last two presidential elections have been amazingly close.  Roughly 50% of the country is aligned with the Democrats and the other half is aligned with the Republicans.  In 2000, President Bush won (some say stole) the state of Florida by just a couple of hundred votes.  Ohio in 2004 was close and it was also contentious.  It should be obvious to all, that regardless of political affiliation, that you’re going to piss off 50% of your readers (assuming you reach the entire country).

There are a number of blogs/sites on my regular reading list that are now injecting political commentary into their sports and technical news reporting/commentary.  I find it amusing (and disgusting at the same time) that they’re being so childish in their comments.  It seems like presidential elections brings out the stupidity in everyone (including the candidates themselves).

Quite frankly, I don’t care what these people think.  I’m an independent voter (really!) and I’ll make my own mind up by researching the candidates myself.    The chances of a single individual (including me) knowing the complete ‘truth’ about anything or anyone in politics closely approaches zero.  Besides, I go to these sites to read about sports and Macintosh and technical news NOT for politics.  There are plenty of websites available for political commentary for all sides (can’t forget about the Libertarians or Green parties).

If you really want to impress me, compare and contrast some particular viewpoint about technology issues that the candidates have weighed in on.  That angle I can deal with, but one-sided, childish comments about one candidate or the other is just as silly as the Ford vs. GM argument we had back in high school.

Yes, they have the right to publish whatever you want on your blog just like I do.  Just as I have the right to not read them.  If part of your income derives from people advertising on your site or people buying your products, then perhaps you should rethink the importance of pissing off half your readers in your political commentary.

Categories: Opinion Tags: ,

Spore

September 14th, 2008 Comments off

I’d be lying if I said I had a lot of time for games.  Between the full time and a half job that BKeeney Software is, writing for RB Developer and this blog I don’t have a lot of time to play games.  Oh, and that giant sucking sound you hear is ARBP sucking away any chance at finding free time.

However, after a Friday afternoon meeting, a team member showed me Spore and let me test drive the game for a few minutes.  It was enough for me to go to the Apple Store in torrential downpours Friday night to get the last copy on the shelf.  After a Kansas City Symphony concert I managed to put in a couple of hours before bed and also put in about three hours late Saturday night.  Do I like the game?  Heck yes!

The graphics and sounds are high quality and the game play is fairly fast.  The game isn’t so hard that you can’t advance, in fact, the game sort of hinges upon your failures and how you respond to them – the game is about evolution after all (at least in the first half).

You start as a single cell in the primordial soup of your world and from there you start deciding what you’re doing to be by eating other creatures and choosing what to evolve to.  You start in the ocean getting bigger and bigger until you can leave the ocean.  This part of the game reminds me of PacMan of all things.

From there you move on to land where some of the characteristics you added in the water now help/hinder you on land.  I was a carnivore so I had teeth and spikes for weapons and poison and shell as a defense.  Once you’re on land the goal is to evolve into tribes.  I found this section to be challenging because other creatures are also evolving and adding strengths and it soon becomes apparent that you can’t be a rogue and just go out and kill everything in site because there are some mighty large creatures out there (one was so big it stepped on me and I died nearly right away).  So it’s either eat or be eaten or learn how to cooperate with others.  I’m a carnivore – what do I care about cooperating with others?  I’m not sure what this part of the game reminds me of – it’s not quite like Diablo or Neverwinter Nights but it has the same sort of feel.

Once you’ve evolved from there you go into tribal stage where you have to have hands for tools and weapons.  The object is to either wipe out or cooperate with all the other tribes for supremacy.  Your tribe gets bigger each time you conquer another tribe.  Along the way you add babies to the tribe, learn how to fish, make spears and axes and each member of the tribe can be independently controlled.  In my case, because I was seriously aggressive with nothing but powerful natural weapons (poison being one of them) the addition of axes and spears was just icing on the cake.  I quickly won this part of the evolution game.  This part of the game reminded me a lot of World of Warcraft.

The next part of the game is sort of like Civilization.  You get cities and you have to mine Spice (my guess is this varies plane to planet in the galaxy) for money.  You build weaponry and get to blast other cities and go to war.  This where I’m at – I’ve seriously pissed off all my neighbors in the world so I’m looking forward to see what happens.  My guess is that I’ll have to do some negotiation to get off planet.

The next part (I’m told) is like Pax Imperia or one of the galaxy conquering games.  It should be interesting to see how the game play is on that part.

One of the things that amazes me is the level of detail you can get to on EVERYTHING.  You creatures can be as detailed as you could ever want.  In Civilization mode you can create your own buildings and vehicles or use one of the pre-made Maxis models or, which I find way cool, is use other people’s that have uploaded theirs to the server.  In creature mode this leads to some incredibly interesting creatures and I’ve heard (though not seen) a new category of creatures called Sporn with interesting body parts.

Is it a good game?  Between my 8 year old, 16 year old and myself we’ve been playing it non-stop since Friday night.  Even if I never play it again the Keeney household has gotten its money’s-worth out of it.

So what do you think?

Categories: Games Tags:

ProvideX? Interesting

September 10th, 2008 Comments off

The very first product in the Commercial Software category is called ProvideX.  Here’s the description:  “Multiplatform programming environment for Windows, OS X, Linux, FreeBSD and others.”  My curiosity was peeked so I clicked on the link.

The product is owned by Sage Software which does a ton of accounting and business software.  My decade old experience with Sage products was that they are expensive products and try to do everything for everybody.  I was not impressed with their GUI for MAS-90 (their accounting package) but I’ll cut them some slack since it was ten years ago!

Anyway, ProvideX is a development environment.  Here’s the description from their home page:

ProvideX from Sage Software is more than the perfect blend of powerful, intuitive, and versatile software tools.

In reality, it provides a one-stop development environment. Your customers need platform independence, data integration, connectivity, tools and strategies for adapting to new-breed technologies – with ProvideX, you are ready to take your applications to the next level.

Sounds a little like REALbasic, no?

Take a look a their online reference.  I’d really like to have something like that for RB (user comments would be great but that’s an argument for a different day).

I like the way their site is laid out.  Sure, they have a lot of products and services, but it looks professional.  They have a lot to tell you.  (Does that mean it looks busy?  I dunno)  In contrast, RB’s site is smaller and doesn’t appear to say as much.  I’m not bashing the RB website, it just doesn’t look like a business site in my opinion.  And I guess if you’re doing more for programmers that’s okay.

ProvideX is not in the same class as RB in my opinion.  It’s an interpreted language which they claim is a plus (“you can create and debug your code on the fly”).  It is also not as cross-platform friendly as RB though it comes close.  ProvideX’s Mac OS X support is limited and doesn’t support ODBC or MySQL which kills it for most of the projects I do for my clients.  They also have a lot of add-ons that appears to be a mixed bag of things that RB provides or is available through 3rd parties.  Each add-on requires licenses and each adds to the price of the product.

I couldn’t find any screenshots of ProvideX on their website so I have no idea on how good or bad their UI is.  I’ll give RS some credit the RB website has some nice movies of RB in action.

Now for the real deal breaker, nowhere on the ProvideX website do they mention pricing and it appears that you have to go through a Value Added Reseller to purchase.  My guess is that if you have to ask for the price it’s not for you.  In contrast, Real Software is upfront about their pricing.

In my opinion if you’re looking at ProvideX you should also take a look at REALbasic.  I know a few developers that might be able to help you out.  :)

Categories: Opinion Tags:

me.Handle Failure

September 9th, 2008 Comments off

The Formatted Text Control from True North Software is an awesome EditField replacement.  If you haven’t taken a look at it, I highly recommend that you do.  One of the things I like the most is that you have all of the source code.

Today, that proved invaluable.  I narrowed the problem down to the Drag code where they call ‘me.handle’ and stuff into the drag object rawdata so they can tell if the drag came from another FTC control.  Since the FTC is a subclass of the canvas control it’s supposed to bring back the handle of the particular control.  I replaced the control and soon discovered it was happening on the 4 other FTC’s on the window as well.

Thankfully I had a conversation going over AIM with someone way smarter than me and while they were stumped they guessed that it might be a window issue.  A quick test and it was confirmed:  the window was causing the issue.

So problem solved after creating a new window and putting all the controls back on.  In the process I discovered (and logged) several bugs/feature requests for the IDE.

Bug:  Drag and Drop of methods don’t work between IDE windows.  Copy and Paste does but I had around 50 methods in this window (the app only has 2 windows so it’s busy) so it was a pain but not too bad.

Feature Request:  Gee, it sure would have been nice to be able to click on the MenuHandler header and be able to copy all of its children for pasting into the new window.  I’m surprised that no one’s asked for this one yet.  This one would have been very handy because of all the formatting commands in the menu.  Oh well, live and learn, and submit a couple of items into Fogbugz.

Just another day in my life as a developer.  :)

Categories: REALbasic Tags:

Agile Update

September 6th, 2008 Comments off

I admit, I was pretty skeptical when we first started our Agile project.  I still don’t think it’s the way to run all projects but for this one it’s pretty much the only way this project can work.

Why is that?  Gosh, where do I begin.  The client knows what they want…..sort of.  The sprint goals we had in Sprint 1 have morphed into something maybe not completely different, but they’ve shifted from a very narrow and specific goal to something a bit more broad and generic.  Or maybe a better way of putting it is that they started with goal A in mind and A has gone through seven, three week cycles of steady and incremental improvements so that instead of handling one specific scenario it can now support an infinite number of scenarios.  Some of the things we’re coding for now didn’t even come to mind until sprint 4 or 5 because the project owner didn’t even know they needed/wanted the feature.

Agile in this case is good because in traditional waterfall methodology we would have setup a big timeline with deliverables and gone away for 9 months, spend a couple hundred thousand (or more) and come back with something they didn’t want.  I live in a town (Kansas City) where that is the norm with a certain telecommunications company that shall remain nameless.  I dare you to ask any software developer or engineer that’s ever worked for them (and there’s a lot of ‘em!) and see if doesn’t work that way.  It’s a disaster and everyone loses in the end.  A lot of big corporation projects are like that I guess.

Agile is causing the client to rethink their internal projects.  They’ve even started moving some of their internal projects to agile.  However, with the thousands of people in their organization I bet there will be at least one spectacular failure because of the entrenched bureaucracy and it will give agile a bad name.  That’s my prediction only because the reason why it works for us is because we’re adapting as time goes on.  I’ve never met an organization that size that can spin on a dime.  Only time will tell if that prediction will come true or not.  Heck, I might not even be involved with the organization by then.

Agile has allowed us to do some fantastic work with the interface.  What their internal groups have struggled with for years, we’ve been able to incrementally improve during the course of the project.  One of the first comments we get from people seeing the prototype for the first time is how awesome it looks and how intuitive it is.

So how does REALbasic fit in?  We have been using RB to create incredibly rich and detailed prototypes which in turn is driving conversations inside the organization on the future of the project.  We have an interesting mix of mockups and real code.  The mockups are done first in a graphics program and the images are put into the prototype to show where we’re heading.  It has also provided an avenue to discuss requirements not yet defined and gives us developers a very clear direction on what to code.  It drives requirements which is interesting since normally the requirements drive the development.  So for us the prototype drives the rest of the project.

The REALbasic 2008 series has been exceptionally stable and secure.  The exception to that statement is Release 2 that killed us with the Windows apps not being able to catch nil object exceptions.  Otherwise, the number of bugs or limitations has dropped with each release and some of the newer technologies like introspection have started making its way into the project.  And since installation on the client machines is so easy (unzip a folder) we’ve not had too many issues.

Categories: Agile, REALbasic Tags:

September/October Edition of RB Developer

September 2nd, 2008 Comments off

The BKeeney Briefs column was about debugging and why it’s so important to learn how to debug.  Do you have any other thoughts on the importance of debugging?  Did I miss something?

The Formatted Text Control by True North Software is an excellent editfield replacement and it has some very powerful features such as being able to create your own custom objects that are read/write in its XML format.  What’s your favorite feature?  What is it lacking that I didn’t hit in the article?  How would you compare it to other editfield replacements?

Marc Zeedar has an excellent article on variable naming that’s worth reading.  To add to his article, I’d say that control naming is something I’ve seen way too many RB developers mess up on.  Using the RB defaults names (such as Pushbutton1, Pushbutton2, and so on) doesn’t help you very much when you see it in code.  In my opinion, if you have to go back to the layout to determine its function then you’ve messed up!  Using control names like pbOK and pbCancel make it explicitly clear in code what you’re talking about.  Agree?  Disagree?

Categories: RB Developer Tags: