Home | Blog Roll | Link Roll | Colophon/About


Archive for May, 2006

TorCampDemoCamp 6 : The Demo Gods bite back

Tuesday, May 30th, 2006

May’s Demo Camp, which would be 6, was back at , after last months Demo Camp 5 being at a UoT location (see More Geek Show and Tell in Toronto … trademark pending!).

Lots of new people coming out to check it out. In the previous months things have gone very smoothly, but it was a little differently this time, starting out with the last minute illness of Our Fearless Leader Mr. David Crow. Then we started having problems with the hookup to the overhead projector. Without Davi’sd special magic it refused to talk to various PC and MAC laptops. (No truth to rumours that Joey (deVilla) and Jay (Goldman), whom stepped in as MC’s, were responsible for David’s “absence”.)

Update : I’ve since emailed with David and he has blogged about his Heart Attack!. He is doing much better, and is taking care of himself. Please make a feel and speedy recovery David!!

Joey (he of the ) and his Boss Ross (Ross Rader ) demo’d (not just your software downloading site!) their two latest products (currently in beta), a Ajax Webtop and a Feed caching datastore. The first is code named “” (a Transformers reference), in some ways is “just” a personalized home page, all dhtml and ajax’y, but really a complete productization of what many of us have built once or twice ourselves; completely customizable and brand-able by a ISP to rollout to there customers as a personalize startup page. FeedCache is again “just” what is says. With “Feedcache: Developer Edition” have provided a a web services interface to a user-populated cache of RSS feeds that developers can use and implement in their applications. I’m thinking “roll your own Blogins RSS reader”, using the Tucows engine and building a better ui, or a replacement for FeedBurner.

BlogScope is a slicing and dicing analysis and search engine of Blogo-sphere chatter. Think of in as Data mining for Blogs, or maybe BI (not Business Intelligence, but Blog Intelligence). I assuming it’s eating standard feed data (Hey Nilesh, talk to Joey!), so it should also be able to eat and digest other feeds from the mainstream media, stock price feeds or AT&T’s call detail record (CDR) database (http://www.eff.org/legal/cases/att/faq.php). I would like to see a personal version that I could point to either a much bigger source (beyond blogspot), or much smaller like my own feed roll.

This is where the overhead projector became demonical possessed, which required some patience and juggling.

Joshua Wehner, bravely stepping into the breach, showed off a web application (Rails based) to solve a personal itch: parsing a huge CSV file and coordinating amongst a group of friends (and friend of friend) of the presentation schedule for a gamming con. (the result of 20 hours work) With very little additional work, this could rolled out to the general attendance of the con, or other conference organizations with lots of value add.

Anand Agarawala then presented his , a 3d desktop interface using the unreal physics (gamming) engine. Again a very slick piece of software, well demoed. The idea of bundles and piles of files being physical manipulated was well though out.

Update : has made it up onto Gizmodo and now SlashDot (and lots of technorati chatter. Congrads Anand!

Unfortunately we did not get to see the semanticPAL - learnable natural language user interface - demo. Hopefully, next time.

And then we wwent out for a drink and chit chat which is where I got to meet a real live MaRtian.

Links are showing up via technorati under and . plus Joey, the newly bathroomed (and fellow ‘dinosaur’) Greg, and Jordan Christensen has a good detailed write up (I may have been right behind him as he live blog it).

Can we standardize a tag for these? maybe ? Shall ping David on this.

Falsepositves as a TagGraphTree, add yours..

Saturday, May 27th, 2006

Falsepositves as a TagTreeGraph as per WebSites a TagTreeGraph , tagged under now on Flickr under (66 and counting). Add your own via http://www.aharef.info/static/htmlgraph/

Since tags are nested in other tags, they are arranged in a hierarchical manner, and that hierarchy can be represented as a graph. see cnn, boingboing, Yahoo, msn, google, and others. Or you can also get your own site graphed, or someone elses site.

blue: for links (the A tag)
red: for tables (TABLE, TR and TD tags)
green: for the DIV tag
violet: for images (the IMG tag)
yellow: for forms (FORM, INPUT, TEXTAREA, SELECT and OPTION tags)
orange: for linebreaks and blockquotes (BR, P, and BLOCKQUOTE tags)
black: the HTML tag, the root node
gray: all other tags

The first bbq steak of the season 2006

Friday, May 19th, 2006



The first bbq steak of the season 2006

Originally uploaded by Ian Irving.

And The start of a very Happy Victoria’s Day Weekend in Canada. Yum Yum

Saturday Night Hong Kong Films in Toronto (Omini TV ) Spring 2006

Saturday, May 13th, 2006

Omini’s listing for Super Cinema have been update till the end of June. Past listings start here for Winter 2006

The pickings look slim, but there are a couple look worth watching such :

Kung Fu Mahjong 2 (Saturday, June 3) is an sequel to last year better than expect funny love story, playing off of a “Kung Fu Hustle” theme.

China’s Next Top Princess (Saturday, June 17) which is not the Comedy which Omini thinks it is, Starting “2R” : Race Wong and Rosanne Wong, is from December 2005, not 2006! (If Omini needs me as a fact checker they have problems!).

Last summer’s Omini’s film run was a bad re-hash. Looks like I’ll be watching more direct from HK dvd’s rather. Films like “2 Become 1″ ( Miriam Yeung), ” Election 2″, “All About Love”, “Cocktail”, “Fearless” (Jet Li’s final martial arts film), “Isabella”, “The Shopaholics” (Cecilia Cheung and Sean Lau Ching-Wan)

update : here’s Summer 2006

SnTT : LotusScript Required Field Validation without pain Revisted.

Tuesday, May 2nd, 2006

As mentioned at the end of last thursdays , the feed back to Required Field Validation tip caused me to rethink and revise. Many thanks to by for kicking my arse nudging my own thinking.

The first step is having a computed for display field of the form ListOfRequiredFields, multi - values, which content like :

“FirstName|First Name”:
“phone|Telephone Number (inculde area code)”:
“Province|Province or State”

(and so on) the point being “fieldName| Field Label” colon to the next one. You could also have @if formula’s to control the values, for example :

for differnet each new status in a work flow : @if(Status=”Pending”;”Value|Total Budget Amount ($)”; “”)

or conditional required field labels : @if (country=”USA”; “Province|State”;”Province|Province”)

you could (as Theo hinted) have the value for the field comming from a profile document.

Now the meat : much simpler QuerySave placed on the form with the field list :

Sub Querysave(Source As Notesuidocument, Continue As Variant) Dim doc As NotesDocument Set doc = Source.Document dim FormLabel as String FormLabel = “Admin Profile” If ValidateForm ( Doc, FormLabel, “ListOfRequiredFields” )Then Continue = True Else Continue = False Exit Sub End If End Sub

And in either the forms global section or in a library 2 functions (Note you will have to do a “%INCLUDE “LSCONST.LSS”" somewhere, as well):

Function ValidateForm (Doc As NotesDocument, FormName As String, FNforLoR As String ) As Integer On Error Goto processError Const NoCaseNoPitch = 5 Dim errPre As String Dim errMsg As String Dim msgTitle As String Dim LoRitem As NotesItem ‘ List of Required Fields item Dim pos As Integer Dim FieldName As String Dim FieldLabel As String Dim CRLF As String Set LoRitem = Doc.GetFirstItem (FNforLoR) If LoRitem Is Nothing Then ValidateForm = True Exit Function Elseif LoRitem.text = “” Then ‘ Nothing To test ValidateForm = True Exit Function End If CRLF= Chr(13)‘ & Chr$(10) msgTitle = “Validation Error saving “ + FormName errPre =“The following field(s) are blank , or incorrect, and must be inputted before saving:” & CRLF & CRLF ErrMsg = “” Forall V In LoRitem.Values pos = Instr (1, V, “|” ,NoCaseNoPitch ) FieldName = Trim( Left( V, pos - 1)) FieldLabel = Trim(Mid(V, pos +1) ) If isVaildateFieldEmpty ( Doc, FieldName) Then ErrMsg = errMsg & CRLF & FieldLabel End If End Forall If Not errMsg = “” Then Messagebox errPre & errMsg, MB_OK+MB_ICONSTOP, msgTitle ValidateForm = False Else ValidateForm = True End If Exit Function processError: Messagebox “System Error “ & Err() & “: “ & Error$ & “, line: “ & Erl ValidateForm = False End Function Function isVaildateFieldEmpty (Doc As NotesDocument , FieldName As String ) As Integer ‘ pass in the document to be validated, and the FieldName If Not doc.hasitem(FieldName) Then ‘ if the field is not on the document report that as being empty isVaildateFieldEmpty = True Exit Function End If If doc.GetFirstItem (FieldName).text = “” Then isVaildateFieldEmpty = True Else isVaildateFieldEmpty = False End If End Function
This LotusScript was converted to HTML using the ls2html routine,
provided by Julian Robichaux at nsftools.com.

I expect you could also whip up fields and functions to check IsFieldNumeric, IsFieldTelephone, and a bunch of other common needs. (I hope Theo approves!)

Update (Dec 18 2006) prompted by some questions (thanks Rachel V!), and the need to “eat my own dog food”, I’ve moved the routines into a text file (so you can import into a script library, or copy aand paste with a lot less pain), and made a few other changes (including testing if the field does exist -thanks Theo!-, and changes to make to it debugging friendly, etc.), plus a lot more testing : validatefields.txt.

(technorati.com tags :, )

Food Fight: Susur Lee defends Toronto!

Monday, May 1st, 2006

Toronto Super Chef does battle in this wednesday (May 3rd), against USA pretty boy Bobby Flay. Sure it’s chessy but it is a must watch event for Toronto based foodies, if only in hopes he’ll beaver chop the america’s down to size. I’d rather be eating Mr Lee’s Heavenly Food, but this is cheap and easier on the waist line. (and maybe he will start flinging frying pans? well one can hope!)

Update : Result was a Tie! (and no frying pans)


Close
  • Social Web
  • E-mail
E-mail It