Monday, November 30, 2009

RIVA The Robot In The News

RIVA The Robot was mentioned here back in July...



RIVA stands for Robotic IV Administration, it uses SQL Anywhere for its database, and it's back in the news again: Should Pittsburgh pharmacies purchase robots to prepare your IV antibiotics and chemo drugs?

Sunday, November 22, 2009

SQLA, Two Weeks Later

It has been two weeks since the SQL Anywhere Question and Answer website SQLA was announced here, and it's been one week since the first status report.

Another slow(er) week


The total number of questions rose from 25 to 44. That's less than double, indicating that posting activity was slower in the second week. Also, a significant number of questions were of the administrative variety, so nobody better get excited about SQLA being crushed by its own success or anything like that.

Not yet, anyway.

The number of users rose from 29 to 35... nope, not exciting yet.

But they are good users, and they've been asking some great questions, more on that later.

Here are the StatCounter numbers for the nine full days since the hidden JavaScript thingie was plopped onto the "Sidebar Low" area (which sits at the bottom-right of some - not all - of the SQLA page displays):



Top Four Questions


Here are the top four new questions from SQLA's second week of operation:
Troubleshooting High Temporary File Usage

How does SQL Anywhere pass parameters?

Product Suggestion: Please implement record variable type

What’s the size of your biggest database?
Here's the top five from the first week:
Why should I use SQL Anywhere for my next project?

Is there already an iAnywhere position on this new website?

Does parameter passing degrade stored procedure performance?

What is the best refresh strategy for materialized views?

What is the best way to simulate Oracle Autonomous Transactions in SQL Anywhere?
Is it just me, or are some of the questions and answers starting to look more like magazine articles or blog posts than tech support cases?

There's room for both, methinks. There's room for pretty much anything that's relevant.

Development is proceeding. Honestly. Trust me.


The FAQ still hasn't been updated. Instead, a bunch of questions tagged "faq" have been posted, 14 at last count. So it's not like there's no work being done, just not any hard work :)

Here are a few of the more significant ones:
Poll: Is it OK for vendors to post questions?

What is the backup and recovery strategy for SQLA?

Exhortation: Do not mark anything “community wiki”

It's hard being a tag


Tag population control is in effect at SQLA.

SQLA has its own Search facility, plus there's always Google, so there doesn't seem to be much point in defining a bazillion different tags for the purpose of improving search. Plus, it's really hard work (ask anyone who's had to create a book index), and very few people do a good job (ask me about the mediocre job I did on my book).

So, when a tag gets used more than once, it's going to get looked at to see if it should be renamed, eliminated, merged with another tag, etcetera, all with the goal of using tags to classify or categorize the question.

Users are completely free to define new tags, five per question if they want (the software-imposed limit). It's only when a tag gets used on more than one question is it going to be a candidate for euthanasia, er, revision.

BTW, there is a new "SQLA" tag (category, label, whatever) on this blog so you can see all the posts about SQLA at once.

Training begins for the backup administrator


A volunteer for the post of backup SQLA administrator has been accepted, and training begins on Tuesday. Then, while the primary administrator lies face-up by the pool, the backup administrator will be responsible for keeping SQLA free from evil-doers.

For that role the backup administrator will be wearing a supersuit, with cape.

The SQLA Lottery


The pirate chief, er, primary administrator has started giving out random bounties of 100 reputation points, for no particular reason other than it's important for people to have points.

Three such bounties have already been handed out (which accounts for the fact the administrator is no longer first place in the points) and two bounties remain available... essentially for the asking.

One prediction, one boast


SQLA activity will not increase significantly any time soon, and might even decrease:
  • It's all in beta, the software and the site, and some people don't do beta.

  • We're in one of those no-real-work-gets-done-for-weeks-on-end periods, this one tagged "Thanksgiving-Christmas-New-Years".

  • SQLA has not been officially announced; i.e., nobody's promoted it on the NNTP forums.
But... SQLA will eventually be recognized as perfectly suited to the task, of that there is no doubt.

Saturday, November 21, 2009

Cloud Computing with SQL Anywhere

Apparently I don't check my email very carefully because I missed the original announcement of this webcast:



Cloud and Multi-Tenant Architectures with SQL Anywhere Webcast

SQL Anywhere supports a variety of capabilities that ease the shift from an on-premise database server to a hosted server environment. This session will examine different architectural approaches for designing and developing multi-tenant applications to be hosted in a SQL Anywhere Server. Additionally, several operational considerations for hosted SQL Anywhere environments will be discussed.

Presenter: Chris Kleisath, Sr. Director of Engineering

Date: Tuesday, November 24, 2009
Time: 7am PST / 10am EST / 3pm GMT / 4pm CET
or: 11am PST / 2pm EST / 7pm GMT / 8pm CET
Yes, that's this Tuesday coming up. Click here to register.

If you can't attend, you can probably get most of the material from the five-part series starting here: Multi-Tenant Database Architecture – Part 1.

But... there's always a "but"... if you can watch the webcast you should watch the webcast because Chris is always entertaining when he speaks.

Friday, November 20, 2009

What is the backup and recovery strategy for SQLA?

Nobody wants another Magnolia.

Here's the current situation: The SQLA question & answer site for SQL Anywhere runs on StackExchange software and is hosted by Fog Creek. According to an email from Joel Spolsky: "It is actually the same as Fog Creek hosting (it’s on the same infrastructure as what is described in that article)."

That takes care of part of SQLA's backup and recovery strategy: We trust Fog Creek, they operate on a far higher plane than Magnolia ever did.

(Magnolia was named after the Greek god of cluelessness, and it has now been re-launched as "Gnolia" which is Latin for "missed business opportunity".)
The second part of SQLA's strategy is the "verify" part of "trust but verify". It is expected that before the StackExchange service goes live (it is in Beta now, just like SQLA is), the "Download Your StackExchange Database" site management option will be implemented.



Having said all that, there are gaps, like "Will it be possible to upload the StackExchange data we downloaded?"

And, "How would we migrate to a different hosting service?"

Don't know, do care (very much), too early to know the answers.

Wednesday, November 18, 2009

Come to Candia!

Here's an email I got Monday from the International Sybase User Group.

I am sure everyone from the USA is welcome, not just folks from the nothern part.

Caution: Candia can be cold in December so bring a sweater!



Dear Sybase Enthusiast,

Please join us on December 1st and 2nd, 2009 for the ISUG Canadian Technical Summit to be held in the Candian Capital - Ottawa!

For the first time, Ottawa will be hosting a two day event drawing together many Sybase professionals and 3rd party vendors from Canada and the nothern USA. This event will have two streams - Data Management and Development. You will be able to register for either one or better yet, make sure that you bring a colleague with you so that you can cover both agendas. There is even a planned "cocktail reception" on the Tuesday night (Dec 1st).

The event will cover subject areas such as: SMS messaging from PB 12.NET, Taking your PowerBuilder applications to the Web; Data Warehousing, Replication, Sybase and SAS, Data Modeling, Database Monitoring and Performance, ASE and PB tools, Product Futures, Mobility, etc just to highlight some key areas.

On the Development side we will see evangelist John Strano showing us the latest PB 12.NET from engineering, best practices and another training session. For Data Management we will have key Sybase personnel addressing key product futures, Mobility and presentations on comparing various Data Modeling approaches. You will have access to key Sybase technical staff from Canada and the USA to ask questions about Sybase products, interact with users utilizing the same technologies and gain key information into 2010 based products and features.

For more information and to see a complete list of topics covered, please see our registration page. You'll notice that to register you must be a member of the International Sybase User Group (ISUG). You can become a member directly at http://www.isug.com/na/SelectOptions.html or by joining the Ottawa Sybase User Group (OSUG) at http://www.isug.com/na/OSUG.html. All members of OSUG are automatically members of ISUG as well! You can register with a free Associate Member account, but we encourage you to become a full Regular Member if you can.

For questions about and support for this event, you can contact ISUG's North American Regional User Group Director and OSUG President, Chris Pollach (chris@isug.com). Chris will be happy to answer any questions you may have and assist you with registering if necessary.

We look forward to seeing you in December!

Regards,
The ISUG Events Team

Sunday, November 15, 2009

SQLA, One Week Later

As of 7:20 AM EST, Sunday November 8 2009, the SQLA question and answer website was up and running and announced, making today the one week anniversary.

For you history buffs, work on SQLA began around 1 or 2 AM on November 8... seriously, six hours from project inception to live beta, it's that easy to set up a StackExchange site. Before 1 AM it was a just a to-do: "try out StackExchange beta".

In fact, the site was created from scratch twice, once using the wrong site name (gotta respect those trademarks!)

Here are the usage numbers


According to the SQLA software itself, there are now
  • 29 registered users,

  • 25 questions,

  • 46 answers and

  • 42 comments, and there have been

  • 850 views.
According to StatCounter, for the one full weekday that it was told to accumulate SQLA statistics (Friday), there were:
  • 532 page views,

  • 83 unique visitors and

  • 40 returning visitors.
Considering that there has been no mention of SQLA on any of the NNTP forums yet, I think the numbers are... low? high? just right?

Top Five Questions


Chosen subjectively by a panel of judge, based on content and activity:

Why should I use SQL Anywhere for my next project?

Is there already an iAnywhere position on this new website?

Does parameter passing degrade stored procedure performance?

What is the best refresh strategy for materialized views?

What is the best way to simulate Oracle Autonomous Transactions in SQL Anywhere?

Comments are being used as a substitute for threaded discussions


For many years I have clung to the idea that threaded discussions are absolutely necessary for having, well, discussions. One hundred percent of the HTTP-based implementations of threaded discussions suck, when compared with NNTP (newsgroups). That includes purely-web-based discussion sites, all the web interfaces to newsgroup servers, even the re-incarnation of Google Groups. They are either slow, or unusable, or both.

Only classic port 119 (NNTP) clients like Forte Agent work well for threaded discussions.

Or so I believe(d).
(If there was a page for "Late Adopter" in Wikipedia, it would have my picture.)
The trouble is, all the world's firewalls are closing down port 119. And new features are coming to the web, not newsgroups.

So, now we have SQLA. Wonderful interface, fast enough, but... no threaded discussions.

Or are there? It is starting to look like being able to
  • post multiple answers,

  • and post multiple (albeit short) comments on each answer,

  • AND post comments on the question itself,

  • as well as editing the answers and even the question,
is a pretty [expletive deleted] good alternative to threaded discussions.

Well, I'm not sure about the "editing the answers and even the question" part, that's not really happening yet and I'm not sure it should (see later point "Shy people are still shy").

Out there in the blogosphere people are having endless discussions using comments, with and without cheesy "nesting" as a substitute for threading, and the overwhelming volume of traffic says it's working. Here at SQLA, the multiple-answers-multiple-comments features should be much better/easier than that.

Plus, it's easy to type a twitter-style "@username:" prefix on your comment, the cyberspace equivalent of the meatspace shout "Hey, Joe, I think we might have a solution for you, come on over, let's talk!"

Maybe it will work, maybe it won't. I think it will. I think it will work very well for "How do I..." questions, and even better for discussions about future product features... possibly even better at that than the NNTP forum.

We'll see.

Will SQLA replace the NNTP forums? Don't know, don't care. It's like cellular, some people still use radio telephones ... honestly, I didn't know that either, but it's true, and they have reasons (like, "it's the law", stuff like that).

Will Breck still answer questions on the NNTP forums? Sure will! That's the point, answering the questions... not having a protocol war, but helping people.

What will happen when Sybase/iAnywhere implements a modern web-based community site? That's a good question ... [struggle] [microphone drops] ... We have no comment on that at this time.

Voter turnout is low


A total of 30 up-or-down votes have been cast. That represents a voter turnout of 1.5% according to the following absurd formula:
  • each user can vote each question up or down, except their own

  • each user can vote each answer up or down, except their own

  • there are 29 users, 25 questions and 46 answers

  • which comes out to an theoretical maximum of 29*25 - 1*25 + 29*46 - 1*46 = ...

  • wait for it...

  • 1988 possible votes

  • or 30/1988 = ...

  • 1.5% voter turnout
That formula is absurd because it doesn't account for
  • the fact that not every user looks at every question and answer

  • the fact that users don't necessarily form an opinion about every thing they read

  • and the fact that down-votes should probably be rare, perhaps almost non-existent.
Still, 1.5% feels low. Voting is a powerful feature for making SQLA better.

Maybe 3% turnout is a goal worth seeking. Plus, getting more folks who ask questions to check the answer they like the best. And getting folks to click the "Favorite" star.

Early adopters are behaving well


Nobody has voted anything down into negative-points territory, or at least nothing's been voted down past zero points. That's OK with me.

Nobody has edited anything except their own stuff, at least as far as I can tell.

In fact, nothing bad is happening at all. That is *not* a surprise.

Shy people are still shy


I don't know of any way to *guarantee* people will become less-shy about asking questions, but there are an infinity of ways to guarantee people will *not* participate. You can see some of those morale-destroying techniques in action over at StackOverflow. The software is wonderful but a significant minority of the active StackOverflow participants are arrogant [expletive deleted]s ... my [insincerity alert] apologies in advance, but there's no other way to put it.

That won't happen at SQLA, it's moderated.

But the real reason it won't happen is this: The SQL Anywhere user community consists of folks who are treat each other with respect.

So far, "SQLA Moderator" has been the easiest job in the world. It's probably illegal to have this much fun.

And finally...


Here is StatCounter's view of where SQLA page views came from for the last couple of days.



Question: Did the user on the shores of Hudson Bay at the southern border of Nunavut answer a question asked by the user at the end of PA279 near the Xingu river and São Félix do Xingu in Pará, or was it the other way around, or neither case?

Wednesday, November 11, 2009

Tell your friends about SQLA

If y'all want SQLA to succeed, more participation is the answer. The Beta is open for everyone, and it's up to you to tell other people.

Use your own words, or use/edit the "official announcement" below. Post it on the NNTP forums, send emails, whatever you want.

Your friends and colleagues will thank you!

Here are two copies of the announcement, WYSIWYG and HTML...


New website for SQL Anywhere questions and answers

One of the founding members of Team Sybase has started a moderated community-based website for questions and answers about SQL Anywhere and related topics: sqla.stackexchange.com

SQLA is hosted by the StackExchange service and it uses the same software as StackOverflow.

SQLA is different from StackOverflow in several ways: in particular, discussions are encouraged and SQLA is moderated.

In other important ways, SQLA is the same as StackOverflow: it is (soon will be) Google-searchable, it will always be free to use, the reputation points and badge systems are the same, and free speech is protected (within the bounds of moderation).

(If you've never heard of StackOverflow, you're in for a real treat! ...it's the best thing since Google, as far as technical question-and-answer services are concerned.)

Caveat Emptor: SQLA is currently in early beta testing... VERY early beta, where "early beta" means "likely to change". Not only is the SQLA site in beta, but so are the rules of moderation (see the unfinished FAQ), and so is the StackExchange service and the software it provides. Also, note that SQLA is not owned by Sybase.


HTML code... click on the "Copy" button over there --->

New website for SQL Anywhere questions and answers


One of the founding members of Team Sybase has started a moderated community-based website for questions and answers about SQL Anywhere and related topics: sqla.stackexchange.com


SQLA is hosted by the StackExchange service and it uses the same software as StackOverflow.


SQLA is different from StackOverflow in several ways: in particular, discussions are encouraged and SQLA is moderated.


In other important ways, SQLA is the same as StackOverflow: it is (soon will be) Google-searchable, it will always be free to use, the reputation points and badge systems are the same, and free speech is protected (within the bounds of moderation).


(If you've never heard of StackOverflow, you're in for a real treat! ...it's the best thing since Google, as far as technical question-and-answer services are concerned.)


Caveat Emptor: SQLA is currently in early beta testing... VERY early beta, where "early beta" means "likely to change". Not only is the SQLA site in beta, but so are the rules of moderation (see the unfinished FAQ), and so is the StackExchange service and the software it provides. Also, note that SQLA is not owned by Sybase.



Tuesday, November 10, 2009

"HOW DARE YOU!"

The stack at SQLA is off to a good start, at least by SQL-Anywhere-forum standards: 7 questions, 8 answers in it's first day of operation, with only one announcement.

There's a bit of new material in the FAQ...

  • What kind of questions can I ask here?

  • How come other people can edit my stuff?

  • How does moderation work?
Etymology Alert: I don't know if I'm the first one to use "stack" to refer to a hosted StackExchange.com site, but just in case I'm staking my claim here and now :)

Sunday, November 8, 2009

SQLA.StackExchange.com

I'm a big fan of the rule "Don't announce a Beta until there's a Beta to announce" so here it is:

a StackOverflow-style question-and-answer website dedicated to SQL Anywhere,
in beta.

Be the second person to ask a question!


Here's what it says in the "How to Ask" box:
  • Is your question about SQL Anywhere?

  • Technical questions should start with "How do I [do some thing]?"

  • Provide the version and build: SELECT @@VERSION

  • Discussions are welcome! (this is NOT StackOverflow)
Yes, SQLA.StackExchange.com is going to be different, different from StackOverflow.com, and REALLY different from the NNTP newsgroups.
For more information, check out the first question and answer.



Here's a question that's not posted...

Q: Why the name "SQLA" instead of "SQLAnywhere"?

A: Let's just say we want to avoid any Imperial entanglements.

Friday, November 6, 2009

p_drop_other_connections

This little procedure's been floating around for years and years, and the source code sits in various inaccessible places like the NNTP newsgroups, the execrable CodeXchange and a sub-sub-sub-folder on my C drive called "miscellaneous".

Time to put it somewhere accessible: Google.

As in, "on an actual web page".

As in, here...

How to get full control over a SQL Anywhere server


CREATE PROCEDURE p_drop_other_connections ()
BEGIN

/* How to get full control over a SQL Anywhere server...

(1) CALL sa_server_option ( 'ConnsDisabled', 'ON' );

At this point, any attempt to open a new connection will
get "Connections to database have been disabled".
However, current connections will still work until...

(2) CALL p_drop_other_connections();

(3) Do whatever you need to do.

(4) CALL sa_server_option ( 'ConnsDisabled', 'OFF' );

*/

DECLARE @this_connection_id INTEGER;
DECLARE @other_connection_id INTEGER;
DECLARE @drop_command VARCHAR ( 1000 );

SET @this_connection_id = connection_property ( 'number' );
SET @other_connection_id = NEXT_CONNECTION ( NULL );

WHILE @other_connection_id IS NOT NULL LOOP

IF @other_connection_id <> @this_connection_id THEN
SET @drop_command = STRING (
'DROP CONNECTION ',
@other_connection_id );
EXECUTE IMMEDIATE @drop_command;
END IF;

SET @other_connection_id
= NEXT_CONNECTION ( @other_connection_id )

END LOOP;

END;

Thursday, November 5, 2009

And yet ANOTHER beta (UltraLiteWeb)

If iAnywhere Solutions ever put on a standalone SQL Anywhere Developer Conference (they won't, alas), Eric Farrar would be enough of a "big name draw" to pack the place. Anyone else on the agenda would be icing on the cake.

Let me put it this way: If, after hearing an Eric Farrar presentation, you're not more enthusiastic about your job and about SQL Anywhere, you need medical attention.

Eric Farrar creates cool stuff. Eric Farrar makes SQL Anywhere dance and sing.

(Right about now, his co-workers are probably saying, "Look, Eric, Breck has a man-crush on you!")
Not true. If I was going to have a man-crush on anyone, it would be Brad Pitt.

ANYway...

You don't need to wait for any conference, you can see the latest of Eric's offerings here... UltraLite replacing SQLite in Google Gears... a browser-side SQL Anywhere database, with MobiLink synchronization. Woohoo!

Wednesday, November 4, 2009

Sybase Smooths Enterprise Path for IPhones

In PC World...

A REAL Database For The iPhone

The SQL Anywhere for the iPhone Beta has started; sign up here.



Soon, there's going to be a "Tutorial: Build an iPhone application" on DocCommentXChange, alongside the current Tutorial: Build a BlackBerry application...



Guessing Game


What will be the DocCommentXChange url be, for "Tutorial: Build an iPhone application", when it goes GA?

Here's my guess: http://dcx.sybase.com/1200en/ulj_en12/uj-ch04.html

Here's my second guess: http://dcx.sybase.com/1102en/ulj_en11/uj-ch04.html

What's your guess?

Monday, November 2, 2009

Boot-Time Defragmentation

I wish I had lots and lots of money to buy new equipment every few months, but I don't, never have, so I tend to use computers long past their "Best Before" dates.

Like the HP Pavilion zd8000 laptop I'm working on right now.

Yes, in these modern days of 64-bit Windows 7 and Core 2 Duo processors and giant drives, I'm running Windows XP on a 3.4GHz Pentium 4 with 2G (gasp!) of RAM and a 100G drive. It's my "main machine", the one I lug around to clients, the one I do almost all of my work on. With seven different versions of SQL Anywhere, plus Oracle 10g, SQL Server 2008, Visual Studio, blah blah blah... hundreds and hundreds of thousands of files.

And yes, my computer runs hot. Much too hot to hold in my lap. I even carry a little portable fan with me, to keep it from overheating and shutting down. And battery life sucks, less than one hour on a brand-new battery. But it's fast, fast, fast...

mostly...
Over time, as more and more software is installed and removed, more files created and destroyed, performance on this laptop starts to slip. Such was the case this weekend when it became just too unbearable to wait 10 or 20 seconds for Wordpad to open a tiny text file.
Memories of mainframe, memories of 4.77Mhz.
No, there's no viruses or spyware or rootkits running, the router and firewall and Norton 360 and Windows Update take care of that. No apparent disk fragmentation, Diskeeper takes care of that (every time the screen saver kicks in, Diskeeper does some defragmentation).

I say "apparent" because if you go hunting around in the Diskeeper menus, you see there's a feature called "boot-time defragmentation"...

Tip: Don't check "Produce a summary log file" if you don't have a locally-attached drive that will be available during the boot period, other than the drive being defragmented. In other words, no network drives and (I think) no USB drives. Diskeeper won't warn you, but the boot-time defragmentation will skip most of the steps and you'll have to start over. You can specify a floppy drive A:, but who has floppies any more? No summary log for me, my laptop only has the C: drive.
The Diskeeper docs promise that the boot-time defragmentation process will do lot of work the regular defragmentation doesn't do, and that does seem to be the case. The reboot process took longer than an hour including before-and-after CHKDSK runs; the hard drive light was on solid for the whole time.

Here's part of the display output:

Boot-time Defragmentation Report

*** STAGE 0 ***
Stage skipped; MFT already defragmented.

*** STAGE 1 ***
Moved 3 files
Moved 1 attributes

*** STAGE 2 ***
Info: Paging file is not fragmented; skipping paging file processing
Located 335866 files...
Need 53421 clusters for folders & attributes

*** STAGE 3 ***
[xx%] Moving data file
Moved 12011 files from consolidation target areas

*** STAGE 4 ***
[xx%] Moving folder file
Moved 4417 folders to target area
Moved 5 attributes to target area

*** STAGE 5 ***
Moved 4 files
Moved 1 attributes

Contiguous Uncompressed Folders Moved: .......................... 4524
Contiguous Uncompressed Files Moved: ............................ 10805
Non-resident Attributes Moved: .................................. 10
Contiguous Compressed Folders Moved: ............................ 206
Contiguous Compressed Files Moved: .............................. 875
Fragmented Compressed Folders Moved: ............................ 1
Fragmented Compressed Files Moved: .............................. 24

Diskeeper boot-time processing completed.
Press ESC to reboot system.
Tip: When Windows asks to run CHKDSK because "One of your disks needs to be checked for consistency", let it run. Otherwise, Diskeeper will refuse to run any regular defragmentation steps and you'll have to reboot and let CHKDSK run.
After the boot-time defragmentation Diskeeper still showed a few "Pink - low performing system files"; not a lot, and much fewer than beforehand. Another regular defragmentation run got rid of almost all the pink areas, now it's all beautiful "Blue - high performing files and folders"...



I don't have screenshots from before all this, but here's what it looked like beforehand:
  • No "Red - low performing files and folders" at all, probably because Diskeeper runs regularly during screen saver periods, but

  • A large number of "Pink - low performing system files" areas that did not go away no matter how many times I did full manual Diskeeper defragmentations.
So how's performance now? A lot snappier, files and folders seem to open much more quickly, or so it seems. No hard numbers though :)
Tip: There's a wealth of information about Windows disk fragmentation on the Diskeeper site, including Myths of Fragmentation which includes this gem: "A freshly-installed operating system starts off with its files so badly fragmented that a simple defragmentation can decrease the boot time from 153.9 seconds to 111.8 seconds."