Devcon, Aftermath

I’ve put up a post on the Aussie Devcon website .. go check it out.

Old Tom was a Killer Whale. His myth and legend and reality are sprinkled throughout Eden.

Old Tom’s skeleton can be seen on display. Pictures and Paintings and any number of knick-knacks can be found throughout Eden.

Old Tom. He represents the best thing about Devcon.

Eden is a place of subtle magic. The best thing about Devcon 2008 for me was that the surroundings magnified the experience to such a degree that even without the wonderful content it would have rocked.

Friday, In Which We Sat In The Dark

Friday started out with Bob Z giving us the once over a "Top Secret Shush Now" build with the Appgen.

Admittedly, it was cool. It looks like it will be an extension of what we already know. Not revolution, but evolution. Other people have already said this. I like that it’s the same. There’s a lot of good about the current Interface.

Although people will get their funk on, when Bob Z said "soon" this time, I was inclined to believe that it is going to be soon. Of course, there’s a whole barrel of fun when the Appgen comes out, because it’ll get broken half a hundred ways to sunday, and loud voices will express their discontent.

But everything on Friday would be overshadowed by events outside our control. Bob Z spoke, Diego spoke, and then Bob F spoke. One minute we were there, sitting, listening, writing emails, reading blogs, laughing at Bruce’s antics. The next minute complete darkness enveloped the town.

No. I tell a lie. It was only _half_ the town.

It’s a strange thing, to see lights in the distance, down the main street, but to be walking around in total darkness. Awesome! Everyone went to either the pub, the pizza shop, or the local chicken joint.

Electricity arrived back in time for a scrumptious dinner, and the bonding began.

People are the biggest reason why I love Devcons. Making new friends and acquaintances, watching how different personalities interact, trying to build together solid relationships that will carry our community onwards.

Of course, MOST people go to Devcon to grow their business, to become better at using Clarion, to establish business contacts.

And a fair bit of that went on.

Saturday, In Which A Panel Was Adjusted

Saturday’s talks began with Lils George, who hails from India. I must admit, on speaking with Brett, I got his message all wrong. My understanding was that he was speaking about getting people to Contract _for_ them, but others have said it was getting them to Contract _for_ you.

Anywhichway it was a strange occurrence. I’m not sure what to make of his stuff (brochures etc). Lils was certainly well-meaning, and for a small number of devs (relatively) it was a show of faith that he travelled all that way. However, I wasn’t really swayed. Indian Development Houses have got some rough stereotypes going against them, and I don’t think we were given any reason (from Lils’ talk) to disbelieve them.

Bob and Diego then took us through some very interesting stuff. In particular, the Mobile Development space is looking like it will be very sweet indeed. This was a big talking point amongst people. Some folk have already gone with VS because they cannot wait. Others are waiting in the hope that Clarion The New will give them unprecedented Development abilities for Mobile applications.

Michael Summons gave a fantastic talk on Business Practices. Michael runs his own business, along with lecturing for a University. His talk was clear and concise. I mean, it was really really good. Michael is passionate about getting Clarion into the Universities over here, and thinks Clarion .Net will be the product to do it. For what it’s worth, I agree completely.

Kim Davies then jumped onto the "awesome talk"  bandwagon, delivering a Marketing Slant on Business Practices. Both his and Michael’s talks would be super to have as bullet points, so as to refer to when going through the daily processes of working your own (or someone else’s) business.

Following that, Bruce (The Man From Capesoft) gave us a pearler of a talk on Customer Service. Bruce’s First Rule/Law, which comes in many slightly varying forms, made it’s compulsory appearance (Don’t Believe What They Say).

Then we came to the Panel. Since this was my idea, I’ve got some thoughts that might sound a bit hard, but it’s only bashing me .. so that’s okay.

The Panel was good. We got some great conversation out of it. Voices got raised, lowered, altered. Opinions were thrown around like missiles. Some people learned things, others stuck their head in the sand.

The Panel did what it was supposed to do.

But. It was weighted wrong. I realised this almost from when we sat down. We had three Soft Velocity folk and one Bruce folk.

What I should have done was gotten one SV, one Bruce, and two people from other areas. I’ve got a couple of people in mind for next time (if I’m given that responsibility).

Also, the topics needed to be more .. thought-provoking. More controversial. More stimulating.

Saturday night was upon us, and everything came to standstill while I shouted myself horse at the telly watching the Waratahs go down to the Crusaders. It’s okay now though, cause we got Deans! Heh heh.

I had an absolute blast doing the Trivia Night. Sure, there were a lot of mistakes. Celebrity Heads was a shocker. Ha ha. Fighting over whether Darth Vader was a cartoon character. My profuse and humble apologies to One and All.

But it was really really enjoyable. And I hope it was for everyone there. We had a bunch of laughs, and discovered some random facts, like the lyrics for Old Man River. Urg. Another poor choice.

Sunday, In Which We Gave Away A Lot Of Stuff

Michael gave us another talk on Sunday morning, for which I either wasn’t there, or was so brain-dead from Saturday that I don’t remember it. Suffice to say, others have said it was good.

Bruce then hit us with some great wisdom on using Views. Lots of people, at least the ones I talked to, learnt at least one or two things from this talk. Bruce then gave the obligatory Capesoft Bling talk. He showed us their new product, TabTree. Not bad at all.

Then Diego gave another technical wizardry talk on Clarion Win 32 and Sharp.

Then Bob rounded off with some mapping out of the future. That Clarion.Net AND Clarion 7 are the future.

Synopsis, In Which I Opine About Stuff

I’m not a Technical Evangelist. I’m a Community Evangelist. It’s not hard to see. Dave Harms is a Technical Evangelist. He knows his stuff. Bruce Johnson is a Technical Evangelist. This is a distinction I’m coming to see more as this gig goes on. The Technical is vital. It is what most level-headed Developers want to know about. People go to the Devcon to find out what is new in Clarion. What Clarion can do for them, better than the other Dev offerings.

Community too, is vital. Goes along with the Technical. Without it, there would be no Devcon to hear about the Technical. It’s the Australian Clarion Community that has drawn the Soft Velocity people the last two years. We are a good Community when we are together. There is laughter and brains whirring and some egos bashing against each other.

The Devcon gave me a good view of the Community, at least the Australian contingent. We are doing well, and there is excitement in the air. But more than that, we are not standing still. There are people making money with Clarion, using it to it’s fullest.

Community is about getting to know guys like Ken, like Michael, and Kim (again, heh heh). It’s the new blokes from Adelaide, it’s watching copious amounts of wine be consumed,  it’s listening to Geoff talk about how he feels that all the pain was so definitely worth it .. and a thousand other moments. I could list a lot more, but some folk might get a tad embarrassed, heh heh.

The Devcon was a success. My post at Aussie Devcon gives a more verbose thankyou list, but in summary, thanks go to:

  • Geoff. He made it happen. ‘Nuff said.
  • Bob Z, Diego and Bob F. They created the content.
  • Bruce. He travelled from far far away and brought us much good.
  • 3rd Party Providers, for their phat lewt.
  • You. The Community that was there.
  • And one other facet that I didn’t write about in the other post .. The Folk of Eden. What an awesome bunch of people you are. You gave us such a good time, not just accommodating us, feeding us scrumptious meals, but in your hospitality. You made us feel very welcome. Thankyou!

Aussie DevCon 2007 .. Part 3 (Saturday Content)

This is definitely spanning more posts than I figured. But then, I wrote more notes than last year. A lot more.

Anyway, we are looking at the Saturday content today, which was the most diverse of the days in terms of speakers and .. content. Ha.

Bob, Bruce, Geoff, Russ .. and myself.

Actually, looking at things, this will be a huge post. Hmmm, it’s a good thing people love reading lots of small fonts and dull language.

You’ll notice that as my talk approaches, the notes become more and more .. less. Ha ha.

Let us gird our loins and rush onwards to the battle! I mean .. to the content!


Bob Z .. Clarion 7 – the New RTL, Controls and Menus


  • We’re looking at Visual Styles (Tabbed Styles) .. Menu .. etc etc
    • You’re free to change the highlight bar to whatever you want.
    • Simple embed point, take full control .. whatever.
    • Icons in the highlight bar .. make it look a lot better.


  • Tools-Options -> Use smart tags
    • Rather than go and access commonly used properties .. have a tag window that when clicked comes up with the Menu Editor, selecting the context’d control you were coming off. 


  • XP Themes example
    • Tabs Locations
      • The movement of the tabs .. the text doesn’t get distorted (as opposed to the .NET runtime??)
    • Themed Progress Bar
    • Test List, Drop & Combo
      • Fully themed .. don’t have to do anything to get that.
    • Point of this is that you get all controls fully themed by default, just recompile
    • Now that sheets and tabs are fully themed, the prompts need to be checked transparent if you’re using a non-white??? Theme. Not sure about this.
      • Ohhh, TRANSPARENT controls have a background that is the color of the theme.
      • In Clarion 6 and previous, controls such as prompts were not populated with the transparent attribute, because the background was always
      • The body of the sheet tab will pick up the theme color.
      • If it doesn’t have transparent ticked, then it will have the color of the window assigned to it.
    • The "Type" ing of fonts .. True, Clear, .. the drawing of text in all controls has been replaced, and they will display right, but default.
      • If they didn’t have ClearType in by default, weird stuff (in Vista) would happen.
    • Okay, you set the color of the tab .. and at runtime, the header gets the color .. the actual body stays the same as the theme.
    • 4 different tab styles .. 0 (Default), 2 (Colored), 1 (B & W), 2 (Boxed)
    • The User can change their themes .. not sure, faded out for this bit.
    • Control Collection Editor .. for example, from the Sheet properties, you can click to edit the Collection of Tabs.
    • When you want to highlight certain tabs .. give it a color .. if you want to de-emphasise a tab, give it no color.


  • Back to the School App
    • Compiling with both C6 and C7 .. we are looking at the different between the two apps.
    • First try didn’t work .. we got themes in both apps. Obviously Bob is trying to show us that when you compile in other the C7 you don’t get the themed support.
    • Showed that you can Opening Working Folder


  • By default, brings in the included DLLs into the directory.


  • Showing the compile in Clarion6 didn’t work.


  • You can have a separate redirection file for .. each .. Project? App? Not sure which one.
    • No, in the Clarion Version options. So you set it for the version of Clarion you are using.


  • Bob talked for a while about the output settings by default .. apparently in the Alpha there was a lot of "discussion" as to where the exe outputted .. in Clarion7 they had just done the bin\\debug or bin\\release .. like most other compilers .. but lots of 3rdParty folk didn’t like it.
    • Possible to continue working when compiling (it’s on a different thread).
    • But not possible to compile a second thing at once .. because MSBuild must compile sequentially.
    • Bob showed us in C6 9056 .. "Extended UI" .. enable the XP Menu, and then choose a color type, which is a theme file?
      • What is the Color Type?
        • The color on the body of the tab (that is, the header)
      • compiling in C6
      • something happened, it could have been something between having C7 and C6 opened at the same time ..???? but Bob’s C6 was very very slow doing any compiling, generating .. the ABC stuff at the start.


  • Three things missing from the AppGen
    • File Integration, and the .. missed them.


Bruce (Capesoft) .. Making Your Clarion Apps Compatible With And Designed For Windows Vista


  • Cover what you need to know, to start thinking about
  • How does Vista impact us as Clarion Programmers?
  • And, How does Vista affect our programs running at our customers ..
    • These are the two questions
  • What’s everyone talking about?
    • UAC
      • Making windows more secure by asking the user to allow programs to do things ..
      • Bruce then showed the Mac ad
      • Showing lots of different windows that UAC pops up
        • You can have 7 dialog boxes pop up (not all UAC)
    • Best way to handle UAC
      • Show a UAC error
      • With a trusty magnum .45
    • Go ahead and try to program with UAC turned on
      • Because the Users will have it turned on
        • This is a myth ..??
        • But go ahead and try.
        • Average time to failure seems to be less than 2 weeks (to try and program with UAC on)
      • The camel may be strong, but the knees are buckling
  • Clarion 6 on Vista
    • Keep it out of the Program Files directory
    • Runs fine even with Aero turned on (minor cosmetic issues)
    • SV blog contains more info
  • Vista for Users
    • UAC will probably be on .. although MS might take a lot of it out.
    • Your program needs to be Vista compatible.
    • Turn on UAC (on a test machine) for testing
  • What NOT to do
    • No INI files in the windows dir
    • Registry
      • only write to HKEY_CURRENT_USER, or better yet, not at all.
        • Registry is not the most reliable of data sources
    • Personal opinion
    • No Data files (including INI files) under the Program Files dir .. use GetFolderPath or ds_GetFolderPath
      • These procs (the api) gets the proper data folders, which have changed from XP to Vista
  • What TO do
    • Sign your apps


Geoff Spillane .. SetupBuilder 6 – Vista Ready – A Practical Demonstration


  • How SetupBuilder can overcome some of the problems faced with development on Vista
    • but also to show how SetupBuilder can manipulate the files and folders to do some housekeeping, to take some basic tasks, make it very easy to use .. to use the Power of SetupBuilder. It’s main power is in the scripting language. Friedrich has made it so you can dragNdrop .. so you don’t have to learn a new language.


  • Code Signing .. Vista’s reaction
    • Showing the UAC window, the first one .. "Cancel or Allow" .. heh heh
    • Audible warning as well that happens (ha ha .. very funny)
    • A Code Signed application is a much more genuine window
      • Different color, different wording .. far less aggressive
    • Signing
      • People hiked their prices up with Vista ..
      • If you have a current sub with Lindersoft for SetupBuilder, then you get a significantly reduced price for a cert. with COMODO.
      • But also, for those who haven’t bought SB .. for $25 (US) you can purchase a Lindersoft Community Membership, which then gives you the reduced price for the COMODO cert.
    • Geoff takes us through the purchasing of a cert. from COMODO through the Lindersoft site.
    • Okay, now he’s going into SB -> the General Information .. and you put in the Digital Signature information
    • It sets up the code signing for the Installer .. but you also need to code sign the Uninstaller? But the Uninstaller doesn’t exist, it’s built at runtime .. so Friedrich did some fancy footwork, and code signs it at runtime.


  • Code Signing your applications (as opposed to your Installer)
    • So now we go into the Script Editor in SB
    • Geoff drags the Script Function .. the "Code Sign Application" function .. which brings up a window dialog to fill in the necc. Info.
    • We see SB code signing the application, and then the Installer/Uninstaller after this.


  • Embedding your Vista Manifests
    • A quick fix :: (for people with sizable apps)
      • Throw in a Vista manifest, set it to require Administrator
        • You then get the friendly warning .. but you still get a warning, although only once I believe
    • Geoff runs through how to add a Vista Manifest in SB, using the script functions .. dragNdrop, fill in the window .. badabing, badaboom.


  • How do we put things in the right place?
    • SB makes it very easy
    • Geoff showed us how
    • Including Registry Entries .. same kind of deal .. fairly easy.


  • Handling Shortcuts
    • Very easy interface .. here, as everywhere else, SB explains itself


  • If you don’t have a complicated install, you can work with dialog windows, but if you do have a complicated one, well, you lead through and work in the scripting .. very powerful


  • Shortcuts again
    • Showing how to add a ‘choice checkbox" for the User to choose whether the icons get installed.
    • seems to be you would discover most of how SB works simply by using it .. seems very straight forward.


  • Using SB to do some house keeping
    • Dealing with Files and Folders
      • SB elevates it to Administrator level


Russ Eggen .. ABC Compliant Classes (And Templates)


  • ABC Standards defined
    • Included in apps when used
    • Must work out of box
    • Allow Developer to make changes
    • Support embeds for public methods
    • Generates correct code, whether embeds or not
    • Allow extending the class
      • Without once touching the base code
    • Classes must be able to be exported when using as DLLs
    • Changing which base class is used
  • Coding the CLASS
    • Russ opened up TextPad ..
    • Created a new Projct in C6
    • Then went back to TextPad
    • Wants to put together a very simple class, to show us a few things
    • So sets up TextPad for the coloring etc of the code

Missed a bit, phonecalls .. went to loo ..etc etc

  • Russ has kept going with the coding of the Class .. it’s Clarion this time .. ahhh, he’s got the .clw open in C7.
  • !ABCIncludeFile(ABC) would link in to all apps whether used or not.
  • Three ! (!!!) changes it to a tooltip in the C7 parsed autocomplete.
  • C7 part
    • Setting the Link Flags is very important .. the source GPF’s without them.
    • Eg. _DEMOLinkMode_
  • Back to the Slideshow
  • Coding the Templates
    • So we have a class in LibSrc
    • Russ then goes into TextPad again, starts coding a simple Template.
      • Reminder to make the Template ABC Compliant .. (the default, if you leave it blank, is Clarion (Legacy)
        • So put FAMILY(‘ABC’) at the end of the #TEMPLATE first line.
      • Need a #PREPARE statement for ABC Compliance .. (Russ also lets us know that his own preference is to code the #ENDPREPARE right now, so as to not forget.
      • Okay, above the #PREPARE there needs to be a #BOXED(‘Default prompts’),AT(0,0),WHERE(%false),HIDE .. and #ENDBOXED
        • This is for setup code going on behind the scenes, and you don’t want the prompts visible
      • This doesn’t yet cause the "Loading ABC Defaults" window .. that’s in the #PREPARE statement (not the #BOXED)
      • Russ then went through the #PREPARE body
        • #CALLs ..
      • The template code to EXPORT all Class stuff (which is a previous point of ABC Compliance)
        • #AT(%BeforeGenerateApplication) .. #ENDAT
    • In the middle:
    • #CALL(%AddCategory(ABC),’DEMO’) this takes ‘DEMO’ and prepends it to the ABC link stuff above
    • #CALL(%SetCategoryLocation(ABC),’DEMO’,DemoClass)
      • That’s all you need to make sure it’s exported for DLLs

Okay. I missed a fair bit of Russ’ stuff, mostly because i was in and out of the loo and on the phone with the wifey, talking about my talk. And honestly, for an hour or two, I was pretty wiped out after the exertion of singing and dancing for the crowd. Heh heh.

Apologies Russ!

However all is not in vein. Ha ha. Or vain.

Dave Beggs came to the rescue. I’ll now display his notes verbatim.

Cheers Beggsy!


Included in apps when needed

Work out of box

Allow developer to make changes

Embeds for all public methods

Generates correct code whether embeds used or not

Allows extending the class without touching base class code.

Automatic Exporting of the Class if DLL

Allow changing of the base class used

Coding the class

!ABCIncludefile(ABC) would link in to all apps whether used or not

ShowMessage   Procedure() ! ,Extends            The ! ,extends makes it show up in the embed tree

If you put a comment in a class with three !!! then it becomes the tooltip in the C7 parsed autocomplete

Coding Templates

#Template(Democlass,’Devcon Class’),Family(ABC)   ! the default family is Clarion!

#Extension(DemoClass,’Global Demo’,APPLICATION

#Boxed(‘Default prompts’),at(0,0),where(%false),Hide

  #Insert(%OOPHiddenPrompts(ABC))  !in abboop.tpw – calls group ooppprompts – basically loading all classes in memory



   #Call(%readabcfiles(ABC))  ! read the abc header files if not already read

   #Call(%SetClassDefaults(ABC),’DC’,’DC’, ‘Democlass’)   !the second one would have the applicationtemplateinstance in a local class



   #Call(%readabcfiles(ABC))  ! read the abc header files if not already read

   #Call(%SetClassDefaults(ABC),’DC’,’DC’, ‘Democlass’)   !the second one would have the applicationtemplateinstance in a local class

    ! this is like an init – set the class defaults   this is ths same as the #preopare – the 2 calls needed at both atstart and prepare

#Endat  !not #Endatstart!

#AT(%BeforeGenerateApplication)  !This will generate the export files for multi dlls

#Call(%AddCategory(ABC),’DEMO’ )  !Demo will be made into _demolinkmode_ and _demodllmode_ – MUST BE UPPERCASE



#tab(‘Global Message Instance’)  ! allows the developer to change the class name

   #Button(‘&Message Stuff’)       ! done on a button so you can use the with, and

#With( %Classitem,’DC’)          ! make the global prompt come up as a single instance




#Tab(‘demo base class’)     !Allow the developer to change the base class

Prompt(‘&DefaultClass’:’. From(%PClassname)),%Classname,DEFAULT(‘Democlass’),REQ




  #Call(%AddObjectList(ABC),’DC’)    !puts a value in %thisobjectname






#Insert(%GenerateClass(ABC),’DC’,’Global Instance’),NoIndent   !Generate the code


#If (%Baseclasstouse())


#For (%pClassMethodPrototype),Where(%MethodEmbedPointValid())


#At(%DemoClassMethodCodeSection),Priority(5000),Description(‘ParentCall’),Where(%parentcallvalid()) ! Add Parent call embed code


#Embed(%DemoclassMethodDataSection,’Demo class data section’)


#Embed((%DemoclassMethodCodeSection,’Demo class codesection’)



#At(#ProgramProcedures),Where(%ProgramExtension <> ‘DLL’ or ~%GlobalExternal)

  ! this knows whether to include in multi dll


#group(%Parent Call   ! this is called as a function and retuerns the abc version which could not be done as the template wouldt have recognized abc earlier.

Local templates

Classprompts, not globalclassprompts

Default instancenames setclassdefault in prepare – use activetemplateinstance

Finally Russ has skeleton template.

Also 36 page pdf template


Bruce + Jono .. Fun With Capesoft


(notes taken from Bruce’s actual words .. I realised too late that I should have been doing this all along, rather than trying too hard to understand and write in my own words .. ha ha)


  • takes Jono about an hour and a half to knock the app together


  • first group of products
    • Around the concept of LookNFeel
    • We judge things based on what they look like, we shouldn’t, but we do.
    • Most of the car purchase is emotional.
    • Emotional attachment comes with benefits
      • Saving you time
      • Saving money
    • There are a lot of little things that we put together
      • In the app, there’s a very subtle shade of background color
    • Draw heading at the top of the window
      • A 21st century look to it
    • On the Form .. entry fields are rounded
    • If you turn you tabs into a Wizard .. you get a line down the bottom under the buttons
    • Large fonts tends to exaggerate everything, so this looks much better in normal mode
    • You can have icons on your Draw headings
    • AnyFont .. allows you to change your font at runtime.
      • When changing from major versions, we change the font, the style, the heading ..
      • Looks different, works the same (People love this)
      • Changing the CharSet of the fonts .. eg. Greek letters
      • A lot of users who don’t have perfect eyesight anymore, nice not to be looking at a 6 point font.


    • TearOff
      • Ken got a standing ovation (phoned up Bruce one day) in the middle of a demonstration .. went to the menu item, clicked .. and got a Toolbar window
      • Put icons, icons in text, dock the window


    • Hyperactive
      • Allows you to make meaningful data do things.
      • Internet, Email address, word docs, Skype .. how do we make our users use them?
      • Question about Terminal Services etc .. what Api is being called .. 
        • Bruce said he wasn’t sure, but others said it works fine


    • KeepingTabs
      • Remembers which tab you were on
      • Trivial .. but makes a huge difference to Users
      • Can store the info wherever you want


    • EasyHelp
      • Who likes writing help? Apart from Russ .. maybe that’s the exception that proves the point!
      • Can write your own help at runtime
      • OR more importantly, someone else can write the help for you at runtime.
      • Capesoft uses their Distributors and Dealers to write their help.
      • Question from Warren .. are there tools available for copying help from other files?
        • A: it’s a Topspeed file, so trivial to do it yourself
      • Automatically populates tips and other things from the Dictionary


  • Second Group of products are ones that we have tried to be creative with data .. "Addicted to Browses"
    • Insight Graphing
      • It was really nice to seeing guys adding graphs to applications this week.
      • Lots of different types
      • Do heaps of stuff with them .. right-click copy, add to presentation, drilldowns, send to different places, print .. etc etc.
      • Zoom Out, Zoom In, Copy, Save As ..


    • HotDates
      • Calendar view of your data
      • Very illuminating, you can see a lot of things from this that you can’t normally
      • The example of the guy who took a sick day on a Wednesday every 6 weeks, had mapped his entire year out
      • Can go month, year ..
      • DragNDrop the records around
      • Go to the form from any of the records
      • Grab one, move it somewhere
      • You can insert, cutNpaste, copyNpaste ..
      • It’s actually adding the records like a browse


    • File Explorer
      • GPS coordinates, plugged into Google Maps .. get the place where they had the sighting
        • "Changing a Sighting record"


    • Send To
      • Wonderful story
      • Client is leaning over Bruce’s shoulder, getting the browse right, the sort order .. he said "Great, print that!" .. Bruce said no, we have to go to a report.
      • Which is insane .. so kill two birds with one stone
      • Did a proof of concept, then handed it to someone else to code, which is the better way to code .. get all the glory and don’t do the hard work
      • Send it to printer, file, email, ftp or the clipboard ..
      • And when it’s going there, you can decide the format
      • PDF, HTML, Excel, Word, CSV, XML .. you can add your own format if you like
      • It preserves all the formatting, the colors, the graphics, assuming the destination format supports those elements.
      • If your browse is really wide, when it goes to the printer .. prints over multiple pages .. multiple columns of pages .. there was a Sideways reference here, from old Apple days
      • Q: will this work with Clarion .NET
      • A: no idea yet, don’t have it
      • Q: do you have to have Office installed?
      • A: if Excel doesn’t exist, it will be greyed out on the window, gracefully
      • Q: if you don’t want Excel, do you need Office Inside?
      • A: yes you do.


    • Office Inside
      • Office Inside does have a nice feature, if the user gives you a file in excel format .. the Import of an Excel file straight into a TPS or whatever file you have
      • Through a wizard interface
      • You can do it one off, or leave the wizard interface for the User to use
      • Bruce’s First Law .. People Lie
      • Bruce’s Second Law (which has been repealed) .. Never Call the Customer a Liar to their face
      • Bruce’s Postal Law .. the further away things are, the faster they get to the destination


    • GPF Now
      • I made a comment this week, and people laughed
        • "GPF’s are your friend"
      • But I was serious
        • They are a very important programming tool
        • What is wrong .. and Where it’s wrong
        • What is the biggest problem?
          • We don’t know how to interpret the information
      • "Would you like to GPF?"
        • For the masses (because real programmers code in HEX) we wrote a little app
          • A whole pile of information in the window that comes up after pressing "GPF Now" ..
      • What build of windows
      • What key was pressed
      • What thread was running
      • The line number of the program
      • The procedure, the module
      • All of the line numbers that were used on the way to this line


    • NetTalk WebServer
      • The Online Account app on the web
      • A simple clarion exe, no dependencies, no IIS, no Apache
      • Accessible via any browser
      • There’s a danger here, with all these examples
        • You think this is the way this has to look, and get set in the pattern
        • You have complete control as a programmer over what the thing looks like
      • Jono clicks through Invoices, line items, Customers .. showing off various aspects of the Web Serving.
      • Customers->Change button-> a dropdown for Country
        • The Shipper Codes change with the change of DropDown
      • Customers->Invoices Tab->
      • In Jo-Burg, people deployed on Monday the week after the Capesoft Training
      • Online Calculator example
        • BMI Calculator
        • Don’t need a button, because all the fields are dynamic .. but you can if you’d like
        • All of this is done with Clarion code, no custom Javascript in this particular app
        • Q: ????
        • A: we are not taking an existing application and transferring it to the web server
      • What we’ve got are browses and forms for you to create (you can reuse your reports)


    • RightReports
      • Spend a few minutes with a brand new product
      • Available in alpha (we have a closed alpha group)
      • RightReports is the ability to include in your own application (all source code, no dlls)
      • The main reason why we went down this road is that you have the ability to write your own code, your own functions that the report engine will make use of
      • Went to the loo
      • A very simple report, Invoice
      • Q: Dropping in Graphs
      • A: hopefully one day

Day 2 (Capesoft Training)

Bruce’s joke for the day

q.) How many programmers does it take to change a lightbulb?

a.) The lightbulb works fine in my office.


We are into the guts of stuff today .. Bruce is getting us in the Web session to get going, experiment, ask him about compile errors and broken stuff.

Today has been very .. intense. Only because we’ve pretty much been able to work away and ask Bruce questions .. when he’s free. Ha ha.

We got a very good rundown on how to use Frames within NT4WebServer. In fact, Frames have made it into both days so far. They are, according to Bruce (and he’s right) good tools when used effectively. Of course, mostly our brains remember the bad uses. But they have great value.

I’ve continued along with my NetWeb project into the second session today. There’s three of us bogans up the back of the SQL session part 2.

Anyway, I’ll upload some photos tonight hopefully.

Photos from Day 2 (Click for lightbox .. box)














Day 1 (Capesoft Training)

Today began the 5 Days of Awesomeness .. also known as .. Capesoft Training + The Aussie (Clarion) DevCon.

Unfortunately I can’t split myself into three, because there are three sessions going at once. Bruce, Jono and Geoff are all giving of their best to us. Hopefully I’ll be able to get some feedback from people as to the other sessions.

Today I went to 1) the first NetTalk WebServer session, and 2) the Look’N’Feel session.

1) NetTalk WebServer

This Session was an introduction to using the WebServer. From what I saw, most people were there to create their first WebServer app. So Bruce began with some basic questions, reasons as to why or why not you would go with NT4 WebServer, what’s good about CSS and what’s bad (heh heh) .. and other important web serving information.

2) Look’N’Feel

This Session Bruce went through a number of the Capesoft Templates, those that would enhance the look (and feel, obviously) of an app.

Mostly, we gasbagged about methodologies and Google and other important stuff :).

The other sessions went well, although sometimes a little slow apparently. Slow in that people had trouble with getting things to work.

The SQL Session was quite large, and they seemed very hard at work every time I popped my head in.

All in all, it’s 6pm and I’m just leaving the building now.

There’s kind of a different feeling to last year. We were all together, AWAY last year .. which made it more of a group environment i guess .. this is a little more sterile .. but not in a bad way.

It’s good. More tomorrow.

Photos from Day 1










Aussie DevCon 2007 .. Part 1 (The Capesoft Boys)

Wednesday through Friday we attended "The Capesoft World Tour 2007", the Aussie Leg.

There were too many choices to make for these three days! Bruce, Jono and Geoff all had very interesting seminars throughout the three days.

You can look here for the breakdown of sessions.

If one thing can be said for the Capesoft guys (and lots can be said) it’s that they can hit the heart of a matter very quickly. Almost a pre-cognitive ability .. hmmm, could there be Mutants walking amongst us? [ .. cough .. ]

And this is, forgive my presumption, one of the more important things you can learn from developers like Capesoft. How to approach problem-solving. How to ask the right questions.

I’m not sure if I can explain it any better than that. But if you spend any time with Capesoft, or indeed others, then watch and learn how they approach development. How they seek out the heart of the matter, or how they don’t. How often does Bruce say "That’s not really important ..", or "You’re looking in the wrong place ..".  I guess it can wrankle, but I prefer to see it as a good learning process. You could also just not ask stupid questions .. but Bruce says there are no stupid questions, only stupid people. So .. hmmmm. Ha ha.

Technically, I saw a specific example of just how powerful the Capesoft products, and their training, are (is?).

My workmate Bill brought along a semi-formed app built on NetTalk 4 WebServer templates. It was a new "lite" version of a far more comphrehensive and powerful desktop system.

Over the five days of conference, Bill had transported from TPS to SQL, added Multi-Database functionality (first in TPS, then SQL), other fancy SQL functionality, Letter merging, Word Document creation, extra PDF functionality, an "Inbox" feature, and TPS and SQL program in the same source code!

Freaking amazing. Just fantastic. Awesome.

In my own app, I was able to nail down some specific functionality (sorting of browses dynamically, graphing, reporting, other funky stuff). It was just very cool seeing a pie graph appear with meaningful data out of a browser.

If you don’t use any Capesoft products, then possibly the value of three days of training might not be that much. I’d still argue you could learn a lot about development, but then, you can learn that kind of stuff listening to any good dev, of which many abound all over the net, amongst other places (you might be one too, heh heh).

But if you use Capesoft products, then there is absolutely no question as to the value of attending their training. Their tools should be adding that much money-potential to your product(s) that paying for it isn’t a problem. If it is .. then start saving now for next time!

Definately, I’d say you should go with something specific in mind. Whether that be a product you want functionality added to, or just to learn how to use their products.

All in all, the Capesoft segment of the DevCon was a wonderful time. We made jokes, ate those round white mint lollies, and drank heaps of water. Or at least i did. Wait. We also talked, discovered new tricks, fabulous products, and gave our apps an injection of raw talent, power and good looks.

In A Big Balloon

Capesoft have begun advertising their 2007 World Tour, and it is gonna be Kickin!

Last year at the Aussie Dev Con, they tore the place up. Mickey Mouse Hands, Practical Development, Mickey Mouse Hands, Using Various Capesoft products, Mickey Mouse Hands .. awesome.

And this year they look set to do it again. Only bigger. Better.

In a nutshell the goal of the 2007 World Tour is to make the event the most productive week of your whole year.

And let me just say, there is no doubting the benefits of attending workshops led by Bruce, Jonno, and Geoff (Hi Geoff, we have yet to meet .. but don’t worry, I only headbutt and tight-head-pop the people i like).

There are people who have trouble connecting with the audience. There are people who don’t have one-on-one communication skills. And there are people who don’t like being up the front, but are pushed up there.

The Boyz (and Girlz I presume, Hi Capesoft Girlz) from Capesoft are none of these. They facilitate _thought_. And this is what makes it such an awesome experience.

One important ability is to excite people again about something they might not be so interested in. It’s been ten years of development, without a big win. Code is getting sloppy, you’re caring little about maintenance. It’s just small bug-fixes being pushed out the door. Come along to the Capesoft World Tour!

You will be challenged and encouraged .. and .. like Mel’s William Wallace bringing passion to the hearts of Scotsman everywhere, the Capesoft Crew will scream about Freedom and Telling The Englishmen ..

And you will believe them.

This is, in the end, the greatest ability a speaker of any sort can have. To make you believe. Belief in whatever it is they are talking about. Steve and his new phone, Watching Clark drop dirt onto his dad’s coffin, white and black so sharply defined (okay, that’s for smallville nerds only), watching a bloke at the front put on big white gloves and tell you that his (their) products will help you be better at what you do.

That’s belief.

But, as is true in life, you probably will have to see to believe. Unless by some freak of chance my words have helped you _believe_. That, or the faint whisper of Jeff Buckley singing Hallelujah in the background, swelling to crescendo as the plot lines resolve in tragedy.


Finally, on a different pimping note .. Rasp version 0.1 Beta was released last night. It’s my third app of the last week, which is pretty sweet. I’m stopping for a while, even though there are a few more in the wings. I’ve an idea to further enhance the core functionality of all Archer (need to get a shorter business name) apps.

Casting My First Interview

Note :: This mp3 is 40+ megs, so it might take some time if you have anything less than adsl speed.


Be nice okay. Listening to my mannerisms and bad bad BAD technique in this interview gives me the willies. But everyone starts somewhere, and I couldn’t have picked better people to start with. Thanks Bruce & Jono (Capesoft), thankyou very much.

In the Interview we get to find out a few things about Bruce & the folk over at Capesoft.

  • History of Capesoft, the first (and sort of first) Tools they created.
  • Work ethics
  • How the Web is affecting our work
  • The Clarion community
  • and at least 40 minutes more!

Once again, I realise there are so many things wrong with my interviewing technique. So try and look past this. It’s a first run for myself, and I learnt a lot, so much, from this experience.