28/05/2008

And now for something completely different

Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

A few years ago I realised that we were in a housing "get rich quick" mania. How was it, pondered I, that a reasonably well paid programmer like myself could not afford a slightly above average dwelling? Was I spending too much on booze?

A few years down the track it seems like it's coming to a head, or a pop so to speak. The media and public are finally going through the wake up process. Which means affordable houses are on the way finally.

So here is my final analysis for anyone who cares to throw rotting vegetables at me. The ABC of human fantasy and delusion, in truely historic proportions.

A. BANKS LENDING TO ANYONE AND ANYTHING In the past, people without proof of income or ability to save were bad risks, now they are good debtors. This is because they are all simultaneously becoming rich as their houses rocket in price. Bank call centre operators now routinely talk-up your credibility. (You're worth more than that! Here have more! Higher limit for you!)

B. GOLD STANDARD DUMPED BY NIXON UNLEASHING EASY MONEY In the past, Governments systemically ruined their paper currencies through inflation when not backed by tangible assets (eg gold). Now, they no longer need the discipline since human nature has been transformed. Greed and incompetence are no longer features of the human creature.

C. PEOPLE DONT HAVE TO WORK ANYMORE Productive economies used to be based on producing things. Eg blacksmiths are valuable because they can fashion metal into useful things. Now, economies can be based on the 'greater fool' theory of selling houses for more than you got them because house prices go up, always and forever, amen. ("Greenspam" original sin).

So has the world really changed in this way?

If so, my only option is to dig a hole since houses must necessarily become priceless. All humans therefore will return to mountain caves and gaze down upon the sprawl of empty 4 bedroom dwellings with granite benchtops.

If not on the other hand, then we are heading into the biggest wake up call in human history. They will call it a bubble when they are financially ruined and not a moment before.

* Greenspan Original Sin coined by the great Golden Jackass Jim Willie.

Learn about the Aussie bubble.

18/03/2008

Crazy ideas about eliminating scrolling

Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

I think a couple of years ago I started noticing a trend toward breaking web pages up into multiple pages with a 'next page' and 'full page' type of navigation. Has anyone ever seen this implemented properely? Is it a conspiracy to eliminate scrollbars? Any web developer in their right mind would (or should) beat down any feature requests like this. It never works and frankly the idea that scrollbars are a scurge is silly. It's not a hands-off world it's a hands-on world. We've all heard it before, "nyehh nyehh too much scrolling". Humbug! Anyway lets fool with the idea. The only way I could think of it working is if you had sophisticated script which figured out the browser screen height, worked out exactly how high the client area is (on all browsers.. hahaha! hair pulling.), in order to make sure there's no vertical scrolling. Sounds possible? I've never seen anyone do this properely. SO why do they try?

Lets take a for instance: http://www.theage.com.au/news/opinion/one-for-my-pollie-and-one-for-the-road/2008/03/17/1205602288091.html

What could possibly be the purpose of this? A short article split up into two pages that even on my relatively large screen resolution of 1280 x 1024, I have to scroll down anyway. Then click next page when I'm done with the first... *click* ... next page loads and I'm.... swamped with a fresh set of ad...vert...isements.... :/ SNEAKY! <EOM>.

08/02/2008

Notes kill script

Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

Notes 'power users' and programmers like myself often make Notes dance in curious ways to do curious things and this often leads to "Notes MIA". And sometimes, well it just hangs! One thing peculiar to Notes is that it consists of a bunch of coordinated processes rather than a single process like most applications. When one of these fellas becomes the walking dead, it's not surprising that the whole show retreats into "not responding" territory. Solidarity!

I frequently have to kill notes and reload. One way of doing this previous to Notes 8 was to kill nnotes.exe and child processes, (right click on nnotes.exe in Task Manager and select Kill Process Tree). Alas, in Notes 8 it appears we're dealing with not only the Lotus Notes family of executables, but we have a whole clan of other processes related to the Eclipse framework. What a nightmare! Well not really because our Lotus friends have it all monitored by the secretive and somewhat ominous NSD.EXE.

I call him Doctor Death. Tell NSD to -KILL and the whole shannanigan is brought to heel. I have a batch file on my windows desktop called KILLNOTES.BAT:

cd c:
cd \Program Files\IBM\Lotus\Notes
nsd -kill

In the 80's, I spent my spare time doing backspins, playing cricket in kung-fu shoes and writing batch files. In case you didn't, a batch file is simply a list of commands that Windows will execute in sequence. Similar to lin/unix shell scripts. Batch files must have a .bat extension. You can create them in Notepad. Copy the code above and remember that you must change the notes path if you have a non-standard installation.


14/01/2008

QAF Release 8-Jan-2008 in stores now!

Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

2008 is going to be a huge year. There's definitely the smell of change in the air.. or is it just me? :P. To kick it off, here's a new version of QAF just in time (JIT) for LotusSphere. Wish I was going (WIWG) :(
Read More

13/10/2007

Update fields without agents

Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

Not sure what other people do when they want to quickly change or add a field value in a document, particularly in a production environment where it's generally not kosher to allow developers to create agents randomly. I know there are serious tools for doing this but I somehow seem to get away with using a simple toolbar icon which I've written over time. The other day I finally decided to finish it off properely so it supports date & number fields, and lists of values aswell.

Enjoy :-

REM {Smarticon Field Updater by Mark Demicoli};
REM {This formula will prompt you for a field name to add or edit in the currently selected document and is designed to run as a Smarticon in the Notes toolbar but should also work in other contexts.};
REM {Date fields are wrapped in square brackets, numbers prefixed by percent (%) and multiple values are delimited by semicolon.};
REM {When operating on lists, you can add entries by simply prefixing new entries with a semicolon};

t1 := @Prompt([OkCancelEdit]; "Enter Field Name"; ""; "");
@If(t1 = ""; @Return("");"");
t3 := "";
t2 := @GetField(t1);

@If(
@IsTime(t2[1]);
@For (n := 1; n <= @Elements(t2); n := n + 1;
t3 := @Trim(t3 : ("[" + @Text(t2[n]) + "]"))
);

@IsNumber(t2[1]);
@For (n := 1; n <= @Elements(t2); n := n + 1;
t3 := @Trim(t3 : ("%" + @Text(t2[n])))
);
@Do(
t3 := t2
));

editableText := @If(@Elements(t3) > 1; @Implode(t3; ";"); t3);

t2 := @Prompt([OkCancelEdit];"Edit value(s). Format: text, [Dates],%numbers, ; for multi"; "Modify field: " + @UpperCase(t1); editableText);

@If(
@LowerCase(t2) = "@deletefield" | @LowerCase(t2) = "@delete";
@Do(@SetField(t1; @Unavailable);@Return("")); "");

@If(@Left(t2; 1) = "[";
@Do(
t2 := @Trim(@Explode(t2; ";"));
@For (n := 1; n <= @Elements(t2); n := n + 1;
t4 := @If(t4 = ""; @TextToTime(@Right(@Left(t2[n]; "]"); "[")); t4 : @TextToTime(t2[n])))
); "");

@If(@Left(t2; 1) = "%";
@Do(
t2 := @Trim(@Explode(t2; ";"));
@For (n := 1; n <= @Elements(t2); n := n + 1;
t4 := @If(t4 = ""; @TextToNumber(@Right(t2[n]; "%")); t4 :@TextToNumber(@Right(t2[n]; "%"))))
); "");

t4 := @If(t4 = ""; @Explode(t2; ";"); t4);

@SetField(t1;t4)

21/09/2007

QAF release 20-09-2007 is out now!

Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

The new version of QAF is finally here...

..after literally a few months since the last version (that's a pretty long delay for a Notes app :). So what's new? I'm actually pretty excited about this version because we've finally dealt with a long ignored issue in Notes development, that of managing the quality of scheduled code (ie Agents). In this release we give ServerScripts new muscle by allowing them to be scheduled much the same way as developers have done for eons with scheduled agents, except ofcourse, we've reined in the code with automatic error handling out-of-the-box, plus some neat monitoring & reporting blings and lots of other cool new bits and pieces.

So download it! It's free man! Also check out the ServerScript tutorial.

Oh and thanks to Kevin Pettitt for helping out and Grant Muscat who did a hit-n-run stint out at Qenos but came away enlightened by the framework.. cheers mate!


13/07/2007

Scheduled Agents

Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

Ray* has been hassling (demanding genius) for some time about scheduled agents. What he wants is to click something in any application and see what scheduled agents it contains, when they last ran, etc. We'd had a look at a few existing offerings but never really got too excited about any of them. Being QAF zealots, we naturally hatched the idea of doing something in QAF. Choosing a direction is so easy when you have a vested interest! So, it occurred to me that some existing QAF functionality - ServerScripts - could be the basis for a 'natural' progression. That being, endowing ServerScripts and by virtue, some types of Actions with the ability to be scheduled. Get it? Lets say u have an Action that contains embedded script. How about clicking something to make it run on schedule? Then we have QAF as a wrapper around scheduled code and therefore the ability to do some tracking and displaying...

* Ray is my pointy-haired IT manager of Dilbert fame. But this is not a put down. Promise!
Read More

13/07/2007

New Life

Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

From the rotting pile of matter rises another Lotus Notes guru. This blog is mainly about Qenos Application Framework (QAF), an open-source Workflow Engine for Lotus Notes. Not so mainly, this blog is about Lotus Notes in specific, life in general, all sautee'd in my random heretical views, puns, insinuendo and creative drivel.
Read More

Mark Demicoli

Calendar