Home Contact Site Map Privacy Policy Rev Search
Volume 1 Issue 6
 

Up
Volume 1 Issue 1
Volume 1 Issue 2
Volume 1 Issue 3
Volume 1 Issue 4
Volume 1 Issue 5
Volume 1 Issue 6
Volume 1 Issue 7
Volume 1 Issue 8
Volume 1 Issue 9
Volume 1 Issue 10
Volume 2 Issue 1
Volume 2 Issue 2
Volume 2 Issue 3
Volume 2 Issue 4
Volume 2 Issue 5
Volume 2 Issue 6
Volume 2 Issue 7
Volume 3 Issue 1
Volume 3 Issue 2
Volume 3 Issue 3
Volume 4 Issue 1
Volume 4 Issue 2
Volume 4 Issue 3
Volume 4 Issue 4


 

 

 S/ENL - The Sprezzatura Electronic Newsletter

(All the RevSoft News That's Fit To Print (And bits that probably aren't as well...))

Contents

Welcome

Ramblings

FEEDBACK

OBTUSE OBJECTS

REVMEDIA FKB FOR AREV DEVELOPERS

Tech Tip Of The Issue – Aaron Kaplan

Ramblin' Rhodes - Katherine Rhodes

CELEBRITY INTERVIEW - David Tod Sigafoos

ERIC THE EMU's AREV TIPS

Peripheral Trivia

14th February 1997

S/ENL Volume 1 Issue 6

 

Welcome

A funny story to recount this time about our woefully overdue web page... The company who we'd asked to quote in the UK kept stalling and stalling and stalling...

So imagine our surprise to open the Sun newspaper over here (well, calling it a newspaper is a bit rich - it makes USA Today look deep) and see the guy who is meant to be quoting in huge pictures on the page. He is being hounded for setting up lots of heavily pornographic web sites whilst on sick leave from the local fire service. Picture it - "Hello and welcome to the Spermatozoa Homepage"...

Having turned the conversation in this direction... we were evaluating CyberPatrol the other day to ensure that Sprezz personnel only spent hours on the web answering queries on the Rev Discussion Web Page. Unfortunately CyberPatrol uses a "wild card" matching facility and you can't get at Revelation because of a string match on "atio". We can't See it ourselves, what's wrong with Horatio?

Katherine Rhodes our Admin. Assistant and general "Do it now" girl has expressed a wish to contribute to SENL. The slight problem is she's not too technically conversant with RevSoft products and thus has little of interest to offer... except that she's a big Dr Who fan (and sadly, one of Britain's top Dalek experts (Email Krhodes@Sprezzatura.com if you're interested), so her contribution follows later as part of an occasional series.

A new feature in this issue also is "OBTUSE OBJECTS" in which we invite you the reader to submit snippets of seriously bad/obtuse code found on client's site - left no doubt by your rivals! We'll get the ball rolling here but then it's over to you!

Aaron Kaplan makes a special guest appearance with a stunningly sane article on OpenInsight under Tech Tip of the issue. We're keeping him locked in a windowless room 12 hours a day and it seems to be suiting him!

Comp.databases.revelation is coming along. We expect to get a CFV (call for votes) published RSN (Real soon now) if that's OK (ol korrekt) with the PTB (powers that be). If not they can take a FFAARD. <g>! We'll let you know the form by a special one-off mailer but essentially if enough of us say "Yes" it'll happen so turn on, tune in and drop out.

And finally by the time you get this the Sprezzatura sweatshirts and polos will be complete! At least we've finished one internal project! (I must remember this isn't REVMEDIA - as we are about to mail this the stuff is due to arrive next week. Now in the old REVMEDIA days the postage would have slowed it doen enough to make the foregoing tru - it isn't now!). So if you have contributed an article then expect to see one winging your way soon - except for Eric the Emu, who in recognition of his sterling work will be getting the full monty - sweatshirt, poloshirt and jogging trousers. Nuff respect Eric!

Andrew P McAuley
Publisher

[top]

Ramblings

Hey at last - feedback! <g> We must be doing something wrong... so much so that we've actually opened a "Feedback" section this issue!

So farewell then Revelation User Group UK. After a long and glorious existence this venerable institution has succumbed to the pressures of a wired world and closed its doors. It had been ailing for a year or so with the same stalwarts doing all the work and the committee finally decided "enough is enough". It's a shame but all things have a natural life span and I think the RUG had gotten to the end of its.

"Just in time" technology is a wonderful thing - product arrives just before needed and warehousing costs are avoided. So plaudits to Xltech for adopting the idea when it comes to RevSoft product. Not quite so successful on the execution mind - as one subscriber comments "at the time of writing XLTECH Australia are currently out of stock of AREV 3.12 - won't be available for another week or so...flagship product and 2 weeks lead time to delivery! If that's effective market penetration then something's very wrong...". Perhaps they sold out? <g>

Meanwhile - back in the old world of Pick (which I'm sure many of you remember!). The latest version of Pick is called D3 - presumably some sort of reference to multi-dimensional. However it seems more to have linked to that wonderful (?) Disney film - "Mighty Ducks 3". So imagine our surprise to receive a mailer from IBM and Sanderson's in this country, trying to get us to use the RS/6000. The cover of this full colour glossy featured a bird in flight with the legend "the migration season has arrived..." - glad someone has a sense of humour!

We know that OI has been called a "best kept secret" but we didn't realise that distributing it was something best done in shady corners and cottages in Hampstead! Or so it would seem from the UK Web Site which boasts "You can order all Revelation Software Products directly from the UK or you can contact your CLOSET Revelation Software distributor"(caps mine).

An interesting SPOOF press release was mailed anonymously to me recently which I was amused by - sure you will be. Perhaps our American friends can help me though - what is a Kellogg's Pep?

+++

REUTERS -- Bill Gates to Open New Technology Center in Cambridge.

Microsoft Inc. (NASDAQ) has announced plans to open a $1,000,000,000 technology center in Cambridge, Massachusetts. The new center will be responsible for development of new 'web' enabled technologies and software. The center will be housed at the offices of the Company formerly known as Revelation Technologies.

"It the culmination of all our dreams," said Mr. Gates. "The new technology center will catapult Microsoft to the forefront of Internet application tools and software. We can, like, totally own the industry."

"The amount of brilliance coming from Cambridge is remarkable. At no time in the world's history has there be such a concentration of genius at one location, my childhood home exempted, of course."

The genesis of the idea for the new center came as Microsoft realized the need for reusing components across multiple web pages and web sites.

"What we needed was a repository," Brad Silverberg stated. "Purely and simply we needed a simple, straightforward and efficient way to track all of the items on our web site. We have tens of thousands of pages, scattered all about. Almost every European and South American country has special Microsoft Home Page tailored to the specific needs of that country. However, we like to maintain a constant look and feel to our pages. Tracking all the Java code was a necessity."

Thus enters the Company formerly known as Revelation Technologies.

"Our repository technology was a perfect for Microsoft", said James A Aquaviva, President and CEO of the Company formerly known as Revelation Technologies. "The reusability and technology of our products gives us a unique place in the market place to show we can stand equally with everyone else."

The new complex will be based inside the Company formerly known as Revelation Technologies World Headquarters in beautiful downtown Cambridge. Located just a stones through away from MIT, a few blocks from Harvard and reachable by telephone from CalTech, the site offers a bounty of local resources.

"Snow", Mr. Gates explained. "Cambridge has snow, and plenty of it".

Aquaviva agreed. "When I was I child growing up in Boston, snow was virtually a commodity. A few bucketful's, along with a bowl of Kellogg's Pep and some sausage links made up a complete and balanced breakfast."

The key to the success of The Company formerly known as Revelation Technologies lies in their proprietary data filing system, Linear Hash or LH as it is known to it's fans. A fully post-relational database, LH allowed Microsoft to handle the massive amount of fluctuating data required for such an undertaking.

"Revelation makes the greatest databases around for PC's, even us, " Gates said. "I had wanted to purchases the company years ago, but Jim was too shrewd an operator for me. He held out for a better offer, and it looks like he got one. We ended up with FoxPro, and look where that is now"

"I always said that the Linear Hash engine underneath it all was the greatest thing since sliced pizza," Aquaviva answered. " I've been a strong pusher for the technology for years. Plenty of my employees quit over my insistence on staying with LH, but I stood my guard. I knew I winner when I saw one."

Together, the two leaders look like they can make a formidable team. The first project assigned to the new center is an HTML database table. Talks and discussions are already underway on what to do next.

<<< VERY funny para deleted as it might have offended people we don't really want to offend - ED>>>

The staff at the Company formerly known as Revelation is ecstatic about the new arrangements. One said, "There's never been a better time to work for the Company formerly known as Revelation Technologies. We're gonna be bigger than US Steel". Another said "I hear MS provides free soda and chips. I like soda and chips".

However, there was a downbeat person wandering the now sacred halls after the announced. He declined to give us his name but he did say "Now I'll have to drop Novell and reconfigure all the machines as NT servers. So much for my UNIX hosts for the web stuff. They just don't realize what they've done."

+++

Well enough already.. time to get on with the rest of the SENL!

[top]

FEEDBACK

Andy Fekete writes

"Andrew,

Great issue, especially "Interfacing Delphi v1.0 with OpenEngine". It'd be great to see those same interface routines in C++...Keep up the good work!" well for now we intend to do just that! <g>. Carl comments that writing the interface routines in C++ is a no-brainer as they are all the same calls. If someone would like to pay us a $1000 we'll do it for them! <g>. If someone would like to do it free of charge we'll print the results in the next issue and send the published person a sweatshirt.

Ray Blackwell at Clear in New Zealand writes

"Have just read the latest and feel that justice does not prevail. In my own view upper and lower case programming is the 'pits'. The coding in this latest issue reminds me of the 'spaghetti code' that should have been outlawed in the 70's. As a programmer of long standing who is called in to amend previously written code I can assure you that it is not only upper case coding that is lousy. We are all at some time guilty of bad coding but the underlying theme in this day and age should be that programs are easily read, understood and able to be modified with the minimum of effort by even novice programmers."

Can't disagree Ray, unsupportable code is anathema. However I do feel strongly (and empirical observation seems to support) the fact that uppercase code is harder to read than lower/mixed. The theory is that the brain has to process more info for a capital than for a lower case. Personally my preference is as follows

1st Open FileName To vFileVar Then

2nd OPEN filename TO vfilevar THEN

3rd open FILENAME to FILEVAR then

4th OPEN FILENAME TO FILEVAR THEN

All opinions welcomed and printed in the next SENL - Email feedback@sprezzatura.com.

Conveniently for myself I do distinguish between "quick and dirty" where it is designed as a zero maintenance one off utility, and "production" where it is going into a client site. The Utility in SENL 5 is the latter and I'm happy to see the coding style slagged off - it is a hack done as quickly as possible to achieve a result and I won't defend it!

Tony McDowell at Pioneer Computing writes (edited for length)

 

"Hi Andrew, thanks for the entertaining and revelatory ramblings in your SENL 5 newsletter.

Your idea of implementing the R/Basic and Basic+ string handlers in Object Pascal has also occurred to me and in my opinion it is a "must have" extension to the Delphi 3 toolkit. Don't you think the string parsing routines should be implemented in in-line assembler to deliver the best performance? It is this consideration, in conjunction with the absence of a commercial sponsor which has stopped me proceeding.

If you or any other party proceeds, please make sure us "news groupies" know about it. What we need next is an LHASH.DLL, or a more sophisticated 32-bit multi-threaded PICK/OI data server which can deliver an integrated application using DELPHI and other OCX type controls. I was fascinated to read about the "real world" integration of the Delphi 1 and OpenEngine 1.5 - but it would appear this is an undertaking not likely to be attractive in a commercial setting."

So does anyone want to sponsor us? We reckon it'll cost about £10,000. As for LHASH.DLL - what do you think the NT Service DLL is? The API isn't docced but it is all there. Problem is that you'd have to write your own indexing routines etc. etc. but could be worth doing. We estimate £25,000 for that one! And as for "not likely to be attractive in a commercial setting" - we're doing it in a commercial setting and it works well!

"...digression... The point of the historical digression is this - I converted the FASTDEV encryption engine from R/BASIC to OBJECT PASCAL, no fuss other than the usual un-expected and "never before reported" dramas discovering that some configurations using QEMM 8 and Delphi 2, 2.01 and 3 are un-stable and give system halts at any attempt to trace through a project in the Delphi IDE. After conversion, the throughput of compiled Delphi code is "only" 4 times greater than the interpreted AREV 3.12 R/Basic code. I was led to expect a performance improvement of 10x or better, but have no problems with elapsed times In either environment for what its worth. The performance of AREV doing complex string parsing and manipulation has always astounded me, especially once the CPU clock speeds passed 100Mhz. I presume that the string operations are implemented in assembler in the AREV.EXE, n'est ce pas?"

This is true - string handling is a Rev forte - all done in assembler in the AREV.EXE engine.

[top]

OBTUSE OBJECTS

The following piece of code was discovered recently by Sprezzatura personnel when working on a newly acquired system...

locked = ""
loop until locked
writev "" to asset,asset_key,1 then
lock asset,asset_key then
locked = 1
end else
debug
end

update_index("ASSET","","")
end else
new_key += 1
asset_key = Member_No:"*":new_key
end

repeat
loop while locked
unlock asset,asset_key then
locked = ""
end else
for i = 1 to 100
next i
end

repeat

[top]

REVMEDIA FKB FOR AREV DEVELOPERS

There’s a small chance that if you’re a new AREV developer you’ll never have heard of an almost legendary product from Sprezzatura called "REVMEDIA - The Developer’s Link". This was a technical journal devoted to documenting the undocumented about AREV, from version 1.12 upwards. Over it’s 4 year life, 4 volumes were produced, 40 issues in all, containing over 650 articles of interest to the serious developer.

These articles have been collated and created as softcopy in knowledgebase format so that all of this information can now be at your fingertips - keyword and free text searchable. The four volumes would have cost you $796 in all if you were a subscriber and many have commented that it was the best investment of their development career.

The diskette is now on sale at the ludicrously low price of $79 to existing subscribers, $150 to new subscribers. (US)

To order, simply email sales@sprezzatura.com, or in Oz you can contact Xltech. Give us your mailing address and in a few days you’ll be holding a copy of REVMEDIA FKB and an invoice payable in US funds on a US bank. If you want to pay in another currency contact us for details.

As an example of the sort of information contained we present below a typical article (though we hasten to add that not all articles are this big!

Taken from Vol4 Issue 7.

Changed SEC for 3.0

Jens Diederichs writes "Has anybody been playing with the revised (for AREV 3.0) version of SEC() yet? I used to be able to use the SEC(6) call to encrypt passwords as per RevMedia Vol 1 Issue 6. Some calls to SEC (such as 7) still work. A '6' call still works from a window but from TCL falls over. There is obviously something very simple here that I am missing - any guesses?"

As Jens noted, SEC has fundamentally changed for version 3. This is a function of a number of things - not least of which is that security had been harmonised and centralised in the system. SEC still takes 1 parameter but instead of a range of 1 to 12, the parameters can now be from 1 to 19. In addition SEC expects to always find Window_Common% loaded. If you wish to call it from your own program (not from a window) you must load a modified version of Window_Common% in which the WC_W% array is dimmed to a number rather than WC_WCnt%, then you must ClearCommon. Note also that some of the operations only make sense from a window and that these operations will require full Window_Common%.

This table shows code followed by description.

1Closes window if application is not SYSPROG.
2Provides a popup of valid usernames. If WC_Register%(1) is loaded with an account name (see 18) then only users for this account will be displayed.
3Provides a popup of valid applications
4Provides a popup of valid environments
5Calls the ACCOUNTLOGTO window and permits the alteration of characteristics of the logto password. Note that it expects @Record to be loaded with the Application row from SysEnv with Field 1 replaced with the Application name rather than the word "ACCOUNT". For details of how to load @Record in this fashion see the documentation on SECUREACCOUNT_SUB later in this issue. Note that this call will only work in SYSPROG.
6Encrypts contents of @Ans
7Used as an Oconv to display "<Encrypted>" message
8Used to load a User row into the current row from a window. Place on the post prompt process of the username prompt and @Record will be loaded from that SysEnv row. This works from any account.
9Used to save a User row as loaded by 8. This only works from SysProg
10Used to load an Application row into the current row from a window. Place on the post prompt process of the application name prompt and @Record will be loaded from that SysEnv row. This works from any account.
11Used to save an application row as loaded by 10. This only works from SysProg.
12Used to validate an entry as a valid application name. Used as an edit pattern, it will set Status() accordingly and display an error message if the entry in @Ans is not an application
13This is used by a large number of SysWindows and is therefore probably "Kill if RunTime" but until a 3.0 RunTime is available it will not be possible to test this.
14Calls the ACCOUNTADVANCED window and permits the alteration of characteristics of the application. Note that it expects @Record to be loaded with the Application row from SysEnv with Field 1 replaced with the Application name rather than the word "ACCOUNT". For details of how to load @Record in this fashion see the documentation on SECUREACCOUNT_SUB later in this issue. Note that this call will only work in SYSPROG.
15Used to delete an account or user. Only works in SysProg
16Takes the value of @Ans and ensures that it is a valid location by truncating any directory name to 8 characters. Used as an edit pattern, looks for its input in @Ans. Therefore C:\AREV\TEST123456 would be returned as C:\AREV\TEST1234
17Used by the Account window to warn you if you change a location that you have to move the Dos files as well. (B276)
18Used by the AccountUser window on a post initialise when looking at the users for an application. Seems only to load WC_Register%(1) with the name of the application.
19Used by Account window to call AccountUser window.

[top]

Tech Tip Of The Issue – Aaron Kaplan

===============================================

Notes from a blokeAt a client site recently, we needed to find all calls to a specific program. After whipping up a quick and dirty find utility (which we can discuss in the next SENL), we discovered the program found events that should not have existed. No problem, we said, and quickly ran GCOLLECTEVENTS to remove the offending events from our client's system. However, much to our surprise, we found that GCOLLECTEVENTS did not remove them. Under further investigation we found that the events were not truly garbage. They had repository entries, they were listed as sub-entities of the window, but the controls they were linked to no longer existed. Even further investigation revealed that the controls never existed.

How could that be, we though, until the end-user provided us with the answer. The windows and events were created through modification of an existing window. What the client had done was bring up a particular window, deleted and modified controls, and saved the form under a new name. OpenInsight dutifully copied all the events, but since the controls were not there to validate, never removed them.

This prompted us to write another quick and dirty program to check for these orphaned events and prompt for their removal.

The idea was to grab all of the sub-entities for the window. Then, read in the window record and determine which were actually called. Since the client did not have any promoted events, there was no reason to look for them. Once the events not belonging to the window were determined, a pop-up is presented allowing the user to choose which events to delete. The event, source and object, are then removed from the repository.

subroutine find_orphans ( windowName )
$insert logical
$insert popup_equates
equ DELIM$ to '*'
equ
CODE_FIELD$ to 21
declare function repository, popup
declare subroutine msg, send_info
declare function send_event, start_window, iseventcontext
* Must run in event handler context since we call popup
if isEventContext() else
msg( '', 'Program must be run in event-handler context')
return
end
convert @LOWER.CASE to @UPPER.CASE in windowName
* Allow user to enter in the window name in many ways
begin case
case index( windowName, DELIM$, 3)
* full repository name
entId = windowName
case index( windowName, DELIM$, 2)
* SYSREPOSWINS name
entId = field( windowName, DELIM$, 1) : DELIM$ : 'OIWINEXE' : DELIM$
: field(
windowName, DELIM$, 2, 2)
case 1
* Just the window name
entId = @APPID<1> : DELIM$ : 'OIWINEXE' : DELIM$ : DELIM$ :
windowName
end case
sEntId = entId
swap '*OIWINEXE*' with '*OIWIN*' in sEntid
* Read in the window and the compiled window
windowRec = repository( 'ACCESS', entId)
sWindowRec = repository( 'ACCESS', sEntId)
* Get the sub-entities
pEvents = repository( 'GETSUB', entId)
events = NULL$
moreEvents = 1
col1 = 0

*Pull out only events, since that's all the program was concerned with
loop while moreEvents
remove temp from pEvents at col1 setting moreEvents
if index( temp, 'OIEVENTEXE', 1) then
events := temp : @FM
end
repeat
events[-1,1] = NULL$
* use the control count of the source window, since it's easier to
derive
itemCount = field( sWindowRec, @RM, 1)<2> + 1
itemCounter = 1
loop
controlInfo = windowRec[1,@FM]
windowRec[1,col2()] = NULL$
* get the event codes for this control
codes = controlInfo<1,CODE_FIELD$>
if len( codes ) then
moreCodes = 1
col1 = 0
loop while moreCodes
remove code from codes at col1 setting moreCodes
* convert to internal format
code = field( code, DELIM$, 3, 3)
code = fieldstore( code, DELIM$, 2, 0, 'OIEVENTEXE')
* if event is in the list, then remove it
locate code in events using @FM setting pos then
events = delete( events, pos, 0, 0)
end
repeat
end

itemCounter +=1
until itemCounter > itemCount
repeat
if len( events ) then
convert @FM to @VM in events
popRec = ''
popRec
<PCOL$> = '-2'
popRec
<PROW$> = '-2'
popRec
<PDISPLAY$> = events
popRec
<PFORMAT$> = 1 : @SVM : 60 : @SVM : 'L' : @SVM : 'L' : @SVM :
@SVM :
| 'Entity' popRec<PMODE$> = 'L' popRec<PSELECT$> = 2
/* a bit of smoke and mirrors goes here. Check to see if there is an
active
window. If not, start an invisible window to use as an anchor for
the popup. In OI 2.61, INDEXLOOKUP was the first invisible window
thought of */
if len( @WINDOW ) then
parent = @WINDOW
end else
parent = start_window( 'INDEXLOOKUP', '', '', '', '')
end

entities = popup( parent, popRec)
* close INDEXLOOKUP if started
if parent = 'INDEXLOOKUP' then
unUsed = send_event( parent, 'CLOSE')
end

** entities chosen for deletion are returned back, so process them if
** they are
if len( entities ) then
moreEnts = 1
col1 = 0
loop while moreEnts
remove entId from entities at col1 setting moreEnts
send_info( 'Deleting ' : entId)
** delete them one at a time, since TDESTROY might take something
** with it
unUsed = repository( 'DESTROY', entId)
swap '*OIEVENTEXE*' with '*OIEVENT*' in entId
send_info( 'Deleting ' : entId)
unUsed = repository( 'DESTROY', entId)
repeat
end else
msg( '', 'No orphaned entities chosen')
end
end else
msg( '', 'No orphaned entities found' )
end
return

As a technical note, this message was written and tested in OI 2.61, however, I see no reason why it wouldn't work in other versions of OI as well. Later versions removed the need to call the invisible window. Of course, as always, use this code at your own risk.

You might have noticed that this article was much more technically dry than most of my usual writing skills. I'm sorry for that. For those that have not read a technical article I authored I generally tend towards a vast stream of consciousness in my writing. I managed to avoid that, somehow, while authoring some technical documents for Revelation Software, but even in the OpenInsight and ARev FAQ documents, you will notice a slight drift toward a prose style. Generally though, my writings on the web, or CompuServe or in the last and lamented Insights magazine by the UK Revelation User Group tended to drift towards the point of absurity. Not this time, I decided. This was going to be a technical piece of work. I've been told in the past that I'm too unprofessional, and have lost a few jobs a really wanted because of that. So, I decided, it's time to turn over a new leaf and write an article worthy of serious technical merit and discussion. I could have chosen more big words, but I couldn't find my thesaurus, so I kept it as blunt as my vocabulary allows.

Initially, I was going to start this column off with a story, a narrative, if you will, about living in London, all the differences and similarities. One thing I do have to point out to all you American readers, is one of the greatest lies ever perpetuated by a nation upon another nation.

The British have taken us for fools, fellow Americans, and at last, the gig is up, because, not being bound by their code, I can tell all the dirty secrets they don't want you to know. The first, and foremost secret of the British nation is, are you ready, they drink cold beer! Yes! Cold beer! Ice cold. In fact, it sits in refrigerators and in ice at the pubs. Sometimes, the beer is so cold out of the tap, it actually starts to frost the mug! Yes, America, the British have fed us this lie for the sole purpose of keeping us way. They thought Joe Six-pack and his loutish friends would come here on their vacations, show up in their bars, talk loud with our colonial and provincial accents, drinking bottle after bottle of Schaefers.

Yes, Schaefers, after all Schaefers is the one beer to have when you're having more than one. Heaven forbid. It would be a shandah to the neighbours. But I can say all this since I'm not a UK citizen bound by their secrets. I'm an expatriate. I'm an ex-patriate because I won't be doing much 4th of July celebrating here, maybe some quit, smug grins, but no real celebrating, unless I go up to the High Street with my musket and shirt shooting redcoats. The 4th of July reminds me about one of those difference, since it's the only time we really talk about the day of a month. Generally Americans tend to use month day notation, so July 4th would be proper. However, the British (and the rest of the world, who insists on being different as a way of showing their resentment at American superiority) generally write day month. So, at home, my birthday would be 08/17/66 while here in the UK , it's magically changed to 17/08/66. That one's not that hard to deal with. Since it's obvious that there are not 17 months, unless it's really May 1967, so there's no problem.

Trouble comes with a date like my wedding date. 06/09/91 becomes 09/06/91. Now, without the obvious visual clues, was I married on June 9th or the 6th of September? I find it strange, that as American's we'll only use the British style when referring to our independence from them, perhaps as a way of rubbing it in. Of course, it could be because it sounds better. Imaging Jimmy Cagney singing Born on July 4th, it just doesn't sound right, it's Born on the 4th of July. Fits in much better with the song, doesn't it? Speaking being born on the 4th of July, my grandmother was born on the 4th of July. Very patriot, and sort of ironic in it's own way, since she was the first of her siblings to be born in the new world, the older siblings being born in Lithuania. But, you're not reading this newsletter to know about my family history. Going back to being American in Britain, or Great Britain (and they say Americans are conceited), I'm constantly asked about life in America, and forced to explain or defend our culture. Being the resident American, I'm forced to answer all questions. And in true tech support fashion, if I don't know the answer, I'll make one up. Sometimes, I'll make up an answer because it's just more fun.

Recently, much of the questions have revolved around baseball. I've been asked to explain the game, so I went into great pontifications about the rules, highlighting the important aspects, like balks and how there is no interleague play unless attendance is down and New York cops needs something to do so they'll call a game between the Mets and the Yankees. I've tried explaining why a baseball game is much more fun at the park, how you get caught up in the whole atmosphere of the event. The fans, the people, the game itself, the warm flat beer (just like they claim to serve in Britain, and baseball, with it's warm beer is our national pastime) the hot dogs. Have you ever noticed how hot dogs just taste better at the ball park? The trouble's been, after explain all this to my friends here, I can't get the old Armour Hot-dog theme out of my head. So, come on everybody, sing along with Mitch, you know the words...

Hot-dogs

Armour Hot-dogs

What kind of kid likes Armour Hot-dogs?

Fat kids, skinny kids, even geeky dorks

'Cept you Jewish kids

'Cause it made with lots of pork

Love hot-dogs

Armour Hot-dogs

The dogs kids love to bite..

Boy, that brings back memories, doesn't it? And you know for the rest of the day you'll be humming that little tune, getting your co-workers involved, so they'll be humming it, when you get home, you'll still be humming and your spouse will hear it and start humming it, then the kids will realize exactly why they think their parents are strange. But don't blame me, I warned you.

Anyway, next time we'll discuss other strange differences between US and the rest of the English speaking world, highlighting on how they've mangled the alphabet.

Until next time,

Bye bye, and buy bonds.

[top]

Ramblin' Rhodes - Katherine Rhodes

There now follows below a recipe for a Dalek cake. This was faxed to me by a member of my family who thought I would be able to make use of it due to my unnatural obsession. It is reproduced here exactly as received (except my comments!) complete with its original bad grammar to prove, once and for all, that it is not Doctor Who fans that are sad - it is cookery teachers!

-------

/----------\===C

XXXXXXXXXXX

XXXXXXXXXXX

-----------

[][][][][][][]

[][][][][][] --

/ I========C

============---

/ O O O O \

/ O O O O \

/ O O O O \

/ O O O O \

IIIIIIIIIIIIIIIIIIIIIII

Anoraks on standby? Good, then we'll begin:

This is one of the extra-terrestrial 'exterminators' from the television series Dr Who (IF you use your imagination....a lot! - Kate). Daleks are actually made from metal (this is, of course, wrong as everyone knows that Daleks are encased in bonded polycarbide - Kate), but this one is made from chocolate because it tastes better (matter of opinion - Kate).

You will need:

1 jug or flower-pot cake*

1 4in (10cm) round cake

8oz (225g) chocolate butter icing

3oz (85g) fondant

apricot glaze

2 round biscuits

box chocolate mint thins

packet Maltesers

chocolate finger

chocolate sticks

food colouring paste: brown

(a life? - Kate)

*I (being the person who wrote this, not me. I just wanted to re-emphasise that fact! - Kate) bake this cake in a well-greased 2 litre stainless steel jug. If you have no metal jug that will withstand an hour or so in the oven, I find it just as easy to use an earthenware flower pot (make sure you remove the plant first - Kate). Make sure it is clean (Oh, she did! - Kate), grease it as you would a cake tin, and it will make a perfect Dalek-shaped cake (she's obviously seen Daleks that I haven't! - Kate). For either receptacle use a Madeira mix of: 10oz (285g) butter; 10oz (285g) castor sugar; 10oz (285g) self-raising flour; 5oz (140g) plain flour; 5 eggs.

Method

Cover the main cake with chocolate butter icing, and make it as smooth as you can with a palette knife dipped in hot water.

Shave the sides of the small cake until it forms a smooth hemisphere. Then cover it in fondant, coloured either with brown food colouring or a mixture of cocoa powder and artificial chocolate flavouring (If using the latter method you might just as well use the mud you scraped out the flower pot earlier! - Kate). Brush on some apricot glaze first to help the fondant stick.

Layer up the round biscuits, chocolate biscuit and small cake as shown in Fig 1 (not shown here to actually make it clearer! - Kate), using a dash of butter icing to stick them all in place.

Break up a few chocolate mint thins into small oblong pieces and push them into the top of the main body of the Dalek.
Push rows of Maltesers into the rest of the cake, and a couple into the head for eyes (I think she means 'ears' - Kate). If the Maltesers slip off, cut them in half and you will find they stay put.

Use a chocolate finger for the Dalek's antenna (NOW I think she means 'eye'! - Kate) and chocolate sticks for the blast guns (only one gun, dear. The other is a manipulator arm (plunger-on-a-stick to the uninitiated!) - Kate). Make a small ball of white fondant and three balls of brown fondant and push them on to the ends of the sticks (OK, I'm confused! I think she might be referring to the eye stalk disks and iris - Kate).

Cut a strip of brown fondant to tidy the base if you wish (and do what with it? - Kate)Well, there you have it - a recipe for your very own pet Dalek cake. If you feel like having a crack at it, send a picture of your finished article to us here at Sprezz (we could do with a laugh!) and I'll try and get Andrew to give a Sprezz T-shirt to the best attempt (no promises though!).Call me unadventurous, but I think I'll stick to looking at my real Daleks. (sad git - Ed) Now can I give my Sprezz T-Shirt back? (No! - Ed)

[top]

CELEBRITY INTERVIEW - David Tod Sigafoos

First .. I would like to apologize for any spelling errors, naming errors etc. ..blame it on a Public Education (just kidding .. I have the worlds worst memory)

>>Who are you?

David Tod Sigafoos. Married, 1 girl child, two dogs (well one is a Bouvier (this one's the dog) the other one is a peek-a-cock-a-something-a-pooh (this one is not really a dog .. ))

>>Who do you work for?

Myself.. SigSolutions. Of course that is not actually true. I do not hire myself to write my own systems .. I'm not that much of a fool.

>>What is your role in the RevSoft community?

I am .. Ta Tata Da! Mr. Consultant! (if you say it just right you will hear the sounds of Heavenly song). How does the saying go .. We know what we are, now were just haggling over the price.

>>How long have you been involved with RevSoft?

1983 I started .. of course then it was Cosmos.

>>Which products do you use?

Currently just OI 3.3. Some clients are using the NT Service and the NLM.

>>What do you most like about RevSoft products?

What they could be.The MV architecture is the most powerful business model available. To highlight this note that most of the SQL world (you know .. those guys who think that the world runs on a mathematical model) are hard at work figuring a way to bring repeating data/column structures into their products.

The Rev/Arev/OI are very open products .. meaning you may 'hack' things in that were forgotten OR that you have a special requirement for.

>>What do you most dislike about RevSoft products?

What they aren't.

It seems that following the pack is good enough. There doesn't seem to be a drive to make a product that is ahead of everyone else. OI, for example, has nothing ahead of any other product on the market. Its only saving grace right now is that it deals with the MV structure well.

Current users and developers are captive of their mv data structure (whether from PICK(like) or Arev/Rev. The cost of rewriting a system in another environment is prohibitive for most people so they just continue in the OI line if they want a Windows product.

>>If you HAD to use another database what would it be and why?

Oh .. we use a lot of different data bases and tools. Databases include Access/Jet, MsSql, Oracle, Informix, PICK, Universe and we are looking at some other 'mv' alternatives.

Tools include Access, VB and Delphi

>>What are your favourite 3 books and why?

1) Dalhgren by Samuel Delany. This is an exercise in insanity .. which has always been a very close friend to me.

2) Sometimes a Great Notion by Ken Kesey

3) Taming of a Shrew by William somebody. Women .. go figure. Women are proof of the dualistic nature of the universe. You see them and you KNOW there is a god .. then you live with them and understand the meaning of hell.

>>What are your favourite 3 CDs/Albums and why?

I am dividing this answer into 2 parts .. Pop/Rock and Classical.

Pop Rock:

1) Album: 20/20 Sounds by Touch. Don Galluchi and gang created possibly one of the greatest sides of music it has ever been my fortune to listen to. This is what mind music is all about. New Age before the age.

2) Album/CD: Chapter 3 by Manfred Mann. Before MMEB there was Manfred Mann. This is a brilliant album full of jazz/blues as you would have heard during the 'beat' period. Possibly music like this allowed Alex Ginsburg and crew to visualize as they did.

3) Album: Abbey Road by The Beatles. Possibly one of the most beautifully crafted albums ever done. What can one say.

Classical:

1) Album/Cd: Symphony No. 9 in D Minor, OP. 125 ("Choral") by Beethoven. On as I type .. from the opening strains you mind is given the freedom to break through films of ignorance, forgetfulness and fear .. touching, if only for a brief moment, those things that great artist have known.

2) CD: Rusalka by Dvorak. In fact .. all things Dvorak have a place on my turntable. Dvorak always gives me a 'mystic' feeling .. whether he is dealing with nature/faries or man battling the gods.

3) CD: Requiem by Mozart. Mozart was a funny/sad little guy .. god had given him enough talent for a world. Is there any wonder he was a little mad.

And Just 'Cause

4) CD: The Passion of St. Matthew by Bach. If I didn't put Bach in here some of my English friends would get upset

>>What are your three favourite films and why?

1) Harold and Maude. Love at any age is Love. Death at any age is just a Passing .. Love remains

2) 'Det Sjunde Inseglet' (The Seventh Seal) Ingmar Bergman. Although it 'seems' campy now IF you can get past the weight of the 'period'.. the story, acting and direction are stellar.

3) 'Young Frankenstein' by Mel Brooks. Staring Gene WIlder, Marty Feldman (comedic genius who died much too early), Teri Garr and Cloris Leachman as Frau Blucher. Although 'BLazing Saddles' is thought to be Mel Brooks signature piece, I believe this to be the greatest work he has ever done. If this doesn't put you on the floor .. nothing will.

99) If you haven't seen it .. 'Where the Heart Is' staring Dabney Coleman (Uma Thurman's first acting job?). Although this movie never got very good reviews I found the theme, acting and processes very refreshing.

By the way .. here is a great movie source on the Web ..

http://thenewage.com/amg/movie_root.html

>>What event in history would you most like to have been present at?

The enlightenment of Buddha, Sermon on the Mount by Christ or the 1st Constitutional Convention

>>Who is the best president/prime minister we never had and why?

Actually I've never HAD one .. always feeling like I'm being had by them .. be that as it may ..

1) Jimmy Carter. Isn't it funny .. while most presidents spend their off time making more money, Jimmy and his wife spend their time promoting peace and building homes for the poor .. no wonder he didn't do well in government.

2) Any of the first 5 Presidents. Here were men of character (albeit off a little .. reflection of their time).

3) Abraham Lincoln. A man of great vision.

>>Your motto/witty aphorism

One can not say that Waterbabies do not exist, Unless one sees them not existing .. Which is a very different thing Mind than not seeing Waterbabies at all.

[top]

ERIC THE EMU's AREV TIPS

Well, since this feathered philanthropist's last feature, I landed some work hacking into a sensitive ex-Government Department database. Worse still, the ex-Government body happened to be paying for the privilege. I had committed to give the client back their data in two days, and the application was totally booby-trapped...TCL disabled and encryption MFS, the debugger replaced with the OFF command. To really cap it all off I was running last in my office football tipping competition... and worse still, I supplied the tipping software....

I felt reasonably comfortable with the assignment until I was handcuffed to the chair, and leg-ironed to the desk. The guards offered two office workers across the hallway one last request each. The first worker, for his last request, asked to hear the complete works of Andrew Lloyd Webber before facing the firing squad. His colleague, not surprisingly, asked to be shot first.

Trying to light your cigarettes when you're an emu is pretty tough, but handcuffs make the job just that little bit more difficult. I had to Alt-S instead of Ctrl-Break. I managed to get into SYSPROG and disable the account password. The client thought this was brilliant progress, and for encouragement turned off the halide gas before the smell got too bad. I then managed to replace the debugger in SYSOBJ with a pristine copy. That done, I was able to get TCL access inside the application - enough to wheedle the data out via an export - one file at a time.

I know it is easy enough to disable a SYSPROG account password. However, I really thought it would be neat to crack the encryption algorithm on the account passwords, and build a utility to display the account names and their passwords from DOS.

Unfortunately the algorithm is reductive in nature, which means the encryption algorithm is fast, but decryption is very slow. The brute force method is scarcely much worse than the most obvious structured approach, and both would take many days to run on a Pentium 166, depending on key length. However, because a utility is in order, here's a work alike DOS-based utility to ENCRYPT a password and display the encrypted form. You'll need a maths co-processor on your machine, or a 486 or better to run it. It's perfect in every way, only it does the exact opposite of what I originally intended it to do...perhaps if I play it backwards....

Syntax: SHOWPASS password
A=\EB199087D6120071F305000000000000\
A:=\0000000000000000002400B80000BE80\
A:=\0046C6061A0100803C0D744C803C2074\
A:=\F033C08A04A21A01BD03013E8B46003E\
A:=\8B5E02B90000BA0000BD0701563E8B7E\
A:=\003E8B7602E848005EA01A01B400BA00\
A:=\00E88700F805010083D300BD03013E89\
A:=\46003E895E02EBA9BD03013E8B46003E\
A:=\8B5602B93200E87B00505283C3418AD3\
A:=\B402CD215A583D000075E8B8004CCD21\
A:=\5251535056578BDC9B36DB079B36DF6F\
A:=\049BD9C19BD9C19BDEF19B36DB1F9BD9\
A:=\F89B36DB5F049BDDD8585A5B5983C404\
A:=\C35350B8FFFF508BDCDBE336DD3F580A\
A:=\C075059B36D96F02585BC3525051538B\
A:=\DC9B36DB079B36DA4F049B36DF3F9B58\
A:=\5B595AC3E30E508BC233D2F7F18BD858\
A:=\F7F187DAC3\
IF LEN(A) = 277 THEN

PCPERFORM
"REM > SHOWPASS.COM"
OSOPEN
"SHOWPASS.COM" TO HANDLE THEN
OSWRITE
A ON HANDLE

END
END

Sure as hell ain't Javascript....

Eric the Emu (getting used to the handcuffs....)

Friday 13th June, 1997.

ED - PS I've tested the above code and it creates a com file which shows you the encrypted equivalent of any string you type in. So if you wanted to guess and guess and guess you could at a push use it for hacking but I wouldn't recommend it! Far better to use system subroutine SEC! This routine appears here as although Eric offered to provide the decryption routine (and has the skill to make it work) I thought that my fellow developers would prefer not to see it posted publicly and Eric concurred!

[top]

Peripheral Trivia

As this issue of S/ENL was put to bed we fed the inner man with:

TV: That person at Princess Diana's dress sale in NY.
Book: The Jewish Book of Why? - Alfred J Kolatch
CD: "Greatest Hits" - NWA
WEB: www.msn.com (failed downloads)

[top]

Join us :Send Mail to Admin@Sprezzatura.com with subject SUBSCRIBE SENL
Leave Us:Send Mail to Admin@Sprezzatura.com with subject UNSUBSCRIBE SENL
Change of Address: Leave at the old address & join at the new one
Web Info:http://www.sprezzatura.com/
Tell us what you'd like to see in S/ENL:Ask_Sprezz@sprezzatura.com

S/ENL - (c) Copyright 1998, Sprezzatura Ltd. All rights reserved. REDISTRIBUTION is allowed only with permission. You may circulate copies of S/ENL by manually forwarding it, providing (1) you forward the issue in its entirety, (2) no fee is involved, and (3) you forward no more than three issues to any one individual. After that, please encourage your correspondents to send e-mail to admin@sprezzatura.com with SUBSCRIBE SENL in the subject line to get their own free subscription. Everyone is welcome! Tell your friends about S/ENL.

[top]

Copyright © 2005 The Sprezzatura Group. All rights reserved.