www.jlion.com

Thursday, November 29, 2007

I'm now about half way through the last book in Stephen King's Dark Tower series. It's fascinating how King threads various ends left loose in earlier books in the series through and around the plots in this one. Also, King's recursive reference to himself I have forgiven: It works, and works well, I think.

A job applicant for a system administration position stopped by a few minutes ago and I had the opportunity to chat with him about VMWare and virtual machines. In his current position, he manages the active directory implementation for a smallish multinational and at that company most of the servers are now virtualized. Apparently VMWare-server has a management service that serves as a front-end to a pool of virtual machines and a pool of physical servers. The management service shifts virtual machines amongst the physical servers to balance load. Entire servers are backed up, OS and all. It's also possible to take snapshots if, for example, one is making pervasive changes that one is not entirely sure will be successful. If there's a problem, it's easy then to revert to the snapshot. I am planning to lobby even more strongly than I have been for the purchase and implementation of the server version of VMWare.

On the side, I have also continued working on my speech server 2007 test environment. When installing speech server 2007, one thing that you should know up front is that it must be installed in a domain. If you're doing this at home and you have a workgroup, you'll have to convert to a domain before you can proceed with installation. Some other prerequisites are as follows:

  1. Windows 2003 Server with these components installed:
    • SP2
    • MSMQ
    • IIS/ASP

  2. For development, you'll need VS2005...
  3. ...and VS2005 SP1
  4. You'll also need DotNet 3.0
  5. and workflow extensions.
    Information about both DotNet 3.0 and workflow extensions, as well as downloads for both can be found here: http://msdn2.microsoft.com/en-us/netframework/default.aspx
  6. OK, now you can download speech server from Microsoft's web site:
    http://www.microsoft.com/downloads/details.aspx?FamilyId=BB183640-4B8F-4828-80C9-E83C3B2E7A2C&displaylang=en
  7. The speech server file that you download is compressed. When you run it, it will uncompress to a location you designate. After you've done this, you will need to...
  8. ...run hotfix #kb91733, which you'll find here:
    %DVDROOT%\Prerequisites\dotNetFramework\KB917833
  9. Speech Server requires at least one language pack to install. The language packs are also available (in various languages) from the same web site where the speech server download is located. I did not install the language pack first, but I believe it is what Microsoft intends for you do to, so here you should download then install one of the language packs.
  10. Finally now you can install speech server.
  11. ...since I did not have a domain I did not proceed beyond this point. Also, note that a mediation server is required. I'm not sure if by mediation server Microsoft is referring to a "mediation service" that can run on the same physical machine as the speech server, or whether they are implying that a second physical (or virtual) PC is required.

If you're planning to set up a Speech Server 2007 test environment there are at least two alternatives to consider when determining how to connect your server to the PSTN.

One of those solutions is to use a VOIP service provider. It's my understanding that SS07 requires a TCP connection and that most providers support UDP. There are some that do support TCP and more information about who those providers are can (I think) be found on GotSpeech.Net.

Another alternative is to use a hardware media gateway to POTS. At least two vendors supply SS07 compatable media gateways. One is AudioCodes. Their MP-114 is relatively inexpensive but reportedly suffers from poor tech support and documentation. Another option is the Dialogic DMG1000 series. Dialogic has wonderful support and great documentation. If you're an ISP they you may qualify for a promotion that Dialogic currently is running on the DMG series that allows you to purchase one gateway for evaluation at a sharply discounted price. More information about this promotion can be found on Paracon's web site.

In the break room here at the factory, there is a large screen TV that's always running CNN. I see it each day when I stop by for my morning and afternoon coffees and it always seems like they're running some story about some individual that did something wrong, or is suffering somehow. For example, earlier they were running a story about an Iraqi boy who is receiving surgery to patch up severe burns that he suffered in a bombing. Before that was a story about the search for the missing and presumed murdered wife of a police officer.

These stories strike me as a little pornographic in the sense that I suspect that they are intended to titillate. Titillate is described by Dictionary.COM as "to tickle; excite a tingling or itching sensation in, as by touching or stroking lightly." Why is it that people find stories like that of the missing wife so enrapturing? The same thing goes for the recent OJ story, or the various stories about the doings and misdoings of Britney Spears.

I see those stories and I can't help but feel a tinge of empathy for the victims of these stories. It must really suck to be a girl who can't stop hiccuping, who is featured on CNN for a day. That girl must have received thousands of letters and telephone calls, not to mention visits from crackpots who are interested in meeting her for themselves, or who want something from her. Same goes for the police officer who, murderer or not, is now redoubtably being hounded by people who have already predetermined his guilt based on what they saw on CNN. No wonder celebrities run over paparazzi.

Thursday, November 22, 2007

So after T-dinner today, I was helping to set up a wireless home network (such is the life of a computer guy) and we decided to move one of the computers well away from the the router (downstairs, the router is upstairs). What's open on T-Day? Walmart, Kmart. So Kmart doesn't have much in the way of computer accessories. We check out Walmart's web page and see that they have a Belkin FSD7050 Wireless USB adapter for $29.98 that is "also available in many stores". There happens to be a Walmart near here and we high-tail it down there. Lo and behold! On the shelf we find the very thing we're looking for: A shiny new Belkin FSD7050. Yeah! Except that the marked price is not $29.98 as we expected from the web site, but $34.76.

"So what's up with that?" we ask a friendly walmart employee. She doesn't know, and phones her manager who informs her that they don't do price matching with web sites. "But it's walmart's web site!" I tell her. She relays this to the manager, still on the phone, and his response is "so order it on line then."

Well, that's ridiculous, I think. "What about walmart's ship-to-store program?" I ask. "Couldn't we order it on line here," (using Walmart's own order-on-line terminal that they have so conveniently placed in the electronics department) "then have it shipped to this store, then just take the one we have here now?" The clerk relayed this to her manager, who reiterated "we don't do price matching with web sites".

At this point I'm becoming frustrated. "If I order it on line, I probably won't order it from Walmart," I tell the clerk. "But I think there's something dishonest going on here. See here," and I pointed at text on the web page. "It says 'also in many stores' and it does happen to be in your store. It doesn't say anything about paying an extra $5 for in-store pickup."

The clerk agreed with me, and again spoke with her manager. His response this time was: "OK. But one time only."

So what's up with walmart? I think they probably lowered the price on the web page and didn't tell the stores, or perhaps there's a delay between the web page price adjustment and the store price adjustment to give the store time to relabel shelving. In any case, the manager's actions struck me as devious. Buyer beware!

Wednesday, November 21, 2007

Still reading "Song of Susannah" and my initial reluctance is starting to transmogrify into great interest. What a metaphysical trip! What if we're all figments? OK, comfortable with that? Ok, now: What kind of figments are we? Are we the dreams of God? Iterations of some kind of virtual universe? Stephen King makes The Matrix seem like Sesame Street...

----------------------------------------------------------------------------

I had always labored under the impression that the "stop" button in internet explorer or firefox disconnected the browser from the current request. That seems not to be true as I have long running pages that just can't be canceled, no matter how persistently the user clicks on the red X.

As usual, a bit of surfing revealed gold, in this case in the form of some javascript functions:


function ShowCancel()
{
var oCancel=document.getElementById('cmdCancel');
oCancel.style.visibility='visible';
}

function HideCancel()
{
var oCancel=document.getElementById('cmdCancel');
oCancel.style.visibility='hidden';
}

function Cancel()
{
if (window.stop)
window.stop(); // for firefox
else if
(document.execCommand) document.execCommand("Stop"); // for IE

return true;
}


Here's how a cancel button would work:

<input id="cmdCancel" value="Cancel" style="width: 100px;" onclick="javascript:Cancel();" type="button">


Make the button invisible when the page loads, like this:

<body onload="HideCancel();">


Reference the ShowCancel() function in the OnClick event of the button that executes the long running query, like this:

<input id="cmdRefresh" value="Refresh" onclick="ShowCancel();" type="submit">


----------------------------------------------------------------------------

Do you want to display version information for DLLs that are referenced by your web page? It's handy if you want users to report the version that was in use when they experienced a problem. Here's how I did it.

Step 1: Modify the Assembly Information properties (see AssemblyInfo.vb in the "My Project" directory). The AssemblyVersion and AssemblyFileVersion should look something like this:

<Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyFileVersion("1.0.*")>


Step 2: This function returns the version number, given a reference to any type included in your DLL:

Private Function VersionNumber(ByVal oType As Type) As String
Dim oAssembly As Assembly = Assembly.GetAssembly(oType)
Dim oName As AssemblyName = oAssembly.GetName

Return oName.Version.ToString
End Function


Step 3: Rebuild your solution. Version info returned will be something along the lines of "1.0.2880.30736" and will be automatically updated each time you recompile.

----------------------------------------------------------------------------

The blocking log in SQLAutoDoc came in handy today. Users were reporting mysterious messages with our ERP system. When we looked, we saw no problems. Typically in the past such errors have been due to blocking issues but when we looked, the horizons were clear. No blocks.

When I looked at SQLAutoDoc's block log, however, I saw a different picture. Several processes had deadlocked, causing dozens of blocks to proliferate. After twenty minutes or so, the problem had cleared itself out. Thanks to SQLAutoDoc, we have the culprit processes and can work to get them scheduled at a less congested time of day.

Tuesday, November 20, 2007

For any small ISP types interested in setting up a development Speech Server 2007, Marshall at GotSpeech has described his experiences with the AudioCodes MediaPack MP-114 2FXs. I was thinking about buying the AudioCodes box, even if it doesn't have very good support but then I found this offer from Paracon and Dialogic.

As I mentioned before, I've had very good experiences in the past with Cantata tech support and as they're now part of the new Dialogic I'm hoping that Dialogic tech support will be good. From the sound of Marshall's experiences, good tech support might be an important component of a media gateway.

The first step I'm planning to take is to install Speech Server 2007 on a virtual machine. This will let me experiment with various setup options and configurations and the cool thing about VMWare is that there is a snapshot feature that will allow one to revert to an earlier configuration. I can use the snapshot feature to select an option, then if it doesn't perform as expected, I can revert and try a different option. I expect this to be a relatively painless way to learn how to configure OCS/Speech Server 2007.

On a slightly political note, I have just now read that Blackwater operatives in Iraq are not covered under any laws. Not military/DOD, not civilian/DOS, not Iraqi. Doesn't that make them unlawful combatants?

I'm about a third of the way through "Song of Susannah", Stephen King's second-to last novel in the Dark Tower series. The series has taken a bit of an odd turn and I'm not sure I like it. I do like the"there are other worlds than these" concept of endless variations of our world all on a spindle ended on one end by the Dark Tower and on the other end by the Rose, where the afterlife is, in many cases, just a transition between these worlds and where time is no more fixed than is the currents of the sea. I liked imagining that this vision was true, "suspending my disbelief", as my sophomore high school English teacher liked to say. In this second to last novel, Stephen King threatens to take this from me by making the story a variation of "all in a night's dream". I'll have to see how the book turns out. I hope he's leading me on a false path.

I had an heated discussion with our network administrator just now about the best strategy for backups. I had created a scheduled job that does some database maintenance and the backup and have been running this stored procedure for several months. The NetAdmin just purchased a new backup solution, very fast transfer rates, and (without talking to me) a sql agent for it as well. Now he wants me to disable the backup component of my scheduled job. However, I like knowing that the backup completed, knowing that I have tested the configuration with restores and that it works and knowing that I can execute it at will without invoking the NetAdmin's help. I suppose that we can use the backup agent as well as the standard SQL backup but I'm a little peeved that I wasn't consulted and do feel that if we use the agent we will need to test it with a restore before we turn off the backup portion of the scheduled job.

We had our first snow of the winter on Sunday and our neighborhood is white with snow. My kids were very excited but I was reluctant to let them play too long in the snow as my oldest son seems to be catching a cold. It's nice that we have snow. I'm afraid what with global warming and all that my sons aren't going to see as much snow as I did when I was a boy. As a child, winter was one of my favorite seasons, with sliding, skiing, snowmobiles and snow forts.

Sunday, November 18, 2007

While surfing the news yesterday I happened across an editorial (can't remember where, unfortunately) that examined the music publishing industry's current malaise. The music industry, opined the editorial, would need to shift from marketing media (aka CDs) to marketing artists, and the future would see a larger percentage of the industry's revenues coming from live performances than is true today. As evidence of this trend, the editorial referenced Madonna's shift from Warner Music to Live Nation.

It occurs to me that this same shift is likely to occur for arts and publishing industries across the board. Whereas in the past, an artist could create a product, market the product then live off the residuals, in the future art could likely be much more personalized. This trend applied to computer book publishing would explain the decline in mass-produced tomes in favor of smaller, more personalized blog articles. Probably the same will be true for a lot of mass produced products. Why shouldn't you be able to apply the same degree of personalization to buying a car that you do to buying a house or a computer? And why shouldn't a similar smörgåsbord of options be available when you purchase a refrigerator or a pair of shoes? If I were an American manufacturer this would be a fundamental aspect of my strategy to fend of cheap Chinese imports.

In other news, I've started setting up a Office Communications Server Speech Server. It looks to be quite complicated.

Friday, November 16, 2007

A few days ago I received the December issue of Dr. Dobb's Journal in the mail. This month's issue has an interesting article by Michael Swaine on the pending demise of the computer book.

I found one sentence in the article to be particularly interesting: Dave Thomas of the Pragmatic Bookshelf is quoted as saying "And that's exactly how it should be—information will become free".

So much of our economy now, however, is based on ownership of information. What's the difference between a Hyundai and a Mercedes that sells for 5 times as much? Mostly intellectual property of different sorts. The same can be said about microwaves, motorcycles and movies. For almost all of the material that flows through our global supply chain IP provides a large percentage of the value.

The free flow of information is not just an economic risk. The Washington Post reports that a US Government panel has found that Chinese theft of intellectual property represents a pressing national security threat as development of weapons systems components is increasingly outsourced.

What will happen if information does become free? We'll have to change our economic model, perhaps to one that is a bit more socialist in nature, methinks.

Another sentence in the article that I found interesting is one attributed to Rose Kelleher of www.ramblingrose.com, who, writes Swaine, observes that "traditional publishers pay the same royalty for a technical book that will be dead when the next rev of the product comes out as for a novel that could stay in print till it's out of copyright."

A few years ago (well, quite a few) I had enlisted as a co-author for a book on a new version of SQL Server. The book would have several authors, and my task was to write several chapters primarily on DDL. My primary motivation was not money. Mostly I was excited by the prospect of seeing my name on the spine of a book and by the challenge of trying to make SQL DDL interesting to read about.

My enthusiasm was soon sapped by the pace of the project (a chapter a week!) and by the apparent lack of emphasis on quality. When after six weeks the book project was canceled I sighed a great sigh of relief.

Swaine observes that there is a strong and growing market for some types of technology books such as Photoshop books and books in the Dummies series.

I think that computer books are a bit like newspapers. It's not that information is meant to be free, but that old economic models do not fit the internet age very well.

Perhaps a SQL novel something like "The Goal" ? :)

Thursday, November 15, 2007

A few weeks ago I was very lucky to obtain a used Cantata Brooktrout TR1000-P4V-4L 4-port analog IVR board. Since Cantata's part number for the Speech Server 2004 compatable 4-port analog board is also TR1000-P4V-4L (or so I thought), I set about setting up an instance of Speech Server 2004. My intention was to make myself an answering machine.

Well, I got the board installed, and after a couple of false started got the driver software installed as well. I've installed Speech Server before, so started looking for TIM software. However, there was none to be found! Hmmm, I thought. Perhaps the CD with the TIM software has been misplaced or lost...

Off to www.cantata.com I went in search of software and lo-and-behold, search and ye shall find. I found a very nice packaged install for the TR1000 which included the TIM. I downloaded it and the install went smoothly until...

...I was prompted to enter a license code! In the past, this was one of the nice things about Cantata's hardware: No separate licensing fees, such as Dialogic required. However, much has transpired in the 12 months since I last worked with Cantata hardware.

First, Dialogic has separated from Intel and is now a stand-alone company. Second, the newly independent Dialogic has purchased Cantata. Finally, the TR1000 has been obsoleted, or at least the TR1000-P4V-4L has. Tech support will no longer be available after December. How things change!

With the old Dialogic speech server cards, one could purchase Call Manager licenses for a 4 port analog card for about $240. I thought perhaps that Dialogic had introduced similar pricing for the TR1000 TIM and driver, so I emailed Cantata tech support.

The email that I received in reply stated that Cantata would only support cards purchased from authorized resellers. This is a carry-over from Dialogic's Intel days. In the past, I had found Cantata's tech support to be 1) very helpful, and 2) very willing to help so I am a bit disappointed in this new tact. Oh well, I guess profits come first.

Since it was apparent that no help would be forthcoming via email, I decided to call tech support. Perhaps I could bluff or bully myself into the answers for questions about licensing for the TR1000 such as 1) where could licenses be purchased, and 2) how much they likely would cost.

After ten minutes on hold, a lady with a New England accent answered the phone and, in the way of the old Cantata, proceeded to be quite helpful. It turns out that there are at least two versions of the TR1000-P4V-4L. The one that I possessed was for distribution to software developers only and did not include extra firmware necessary for the proper operation of the Speech Server TIM. Moreover, the TR1000-P4V-4L has been discontinued and it is no longer possible to purchase the card.

When I asked what Cantata/Dialogic intended to replace the TR1000 with, the nice lady with the New England accent forwarded me to a sales rep, who also proved to be quite friendly and helpful. He said that there was still a lot of training going on, and that not everyone at Cantata was fully up to speed with the Dialogic product line yet but that a device called a "media gateway" might allow me to connect the new speech server 2007 to analog lines. He wasn't sure, but he thought the gateway might retail for around $1400 and he directed me to this web page on Dialogic's web site that has more information about Dialogic/Cantata support for Speech Server 2007.

I tried to call Dialogic directly for pricing info, but think I must have caught them at a long lunch as they didn't answer their sales line. I may try again, but more research led me to the probably much less expensive ($400?) AudioCodes MediaPack MP-114.

Monday, November 12, 2007

So in church on Sunday the pastor was talking about "time". He reckons that biblical times are accurate and that people actually lived longer during old-testament times and that our shorter lives nowadays are due in part to atmospheric changes that occurred during the great flood. I found this hypothosis very intriguing and have found myself thinking about it quite a bit in the past few days.

I have now formulated a hypothesis of my own: Time may or may not have changed, but people's reckoning of it certainly has. For example: How did one measure years 2,000 years ago? Most probably by the passing of seasons. Say that someone is very old: How many seasons have passed since they were born? Who knows? I know that for me personally time blurs when I think back twenty years. I remember only the hot spots. If I had grown up in a time where atomic clocks had yet to be invented, I think that my age as I report it might have varied from day to day. "Feeling old today..." or "Feel spry as a teen!"

Much of this line of path is, of course, provoked by my continued reading of Stephen King's "The Wolves of the Calla" in which King writes of time speeding up and slowing down in a literal sense.

I think our (meaning all peoples) lives' might have had greater quality before the invention of atomic clocks, when things were just a bit more relative and less precise.

---------------------------------------------------------------------------------------------

So a bit of good fortune: I have a computer, an AMD 64 bit processor with an ASUS K8D motherboard. Some months ago it had mysteriously ceased to function. It would start up, then spontaneously shut down after an indeterminate amount of time. My initial thought had been hard drive failure, so I replaced the hard drive but the problem continued.

I do recall that, at the time that I replaced the hard drive, the interior of the PC had been quite warm. All the fans were working, spinning, pushing air. The one on the processor, the one on the power supply, as well as the three in the case were all functioning properly, so I concluded that excessive heat could not be the cause of the problem.

I swapped out the video card but still the computer did not work. Perplexed, and needing a working computer, I purchased a new computer but convinced that there was still hope for the AMD, I did not discard it or sell it but instead put it aside.

Two weeks ago, I decided to try swapping out the power supply. This did not work, but in the process of replacing the power supply, I happened to brush against the processor heat sink and was surprised to feel how hot it was in spite of the fact that the fan on top of the heat sink was spinning speedily.

The ASUS K8D motherboard has a built in processor heat read-out. I should have checked it before but I did did now and found that the processor temperature was indicated at 74C. My mental light bulb flicked on instantly. I immediately pulled up ZipZoomFly and ordered this heat sink.

Two days ago I replaced the heat sink. When I looked at the old heat sink it was immediately obvious why the heat sink was not working, even though its fan still spun. The fins of the heat sink were, on the bottom, clogged with a thick layer of gray dust.

With the new processor heat sink installed, the PC started up and stayed up, with the ASUS motherboard processor temperature indicated as a constant 35C.

Wednesday, November 07, 2007

My Audible.com renewal came up and I decided to take a hiatus until after Christmas. However, an offer of a free audio book was too tempting and so here I find myself listening to "Wolves of the Calla", another book in Stephen King's long Dark Tower series. Somewhere in the first chapter of the book, one of the characters observes that Americans like their genres cleanly segregated, with science fiction apart from romance, etc. Perhaps this was true 20 years ago or so, but I think nowadays the genres are blending. The Dark Tower series itself is a good example. Is it horror? Science Fiction? A western? There are lots of other examples.

I always enjoy Baseline Magazine. In particular, I enjoy their case studies, where they examine some project's reasons for success or failure. In this month's magazine, there's a great story about Yahoo.com's attempt to confront Google, and how Yahoo, once the leading search engine, is rapidly losing ground to its rival.

Also in the story is a plug for a new book by Steve Souders, Yahoo's Chief Performance Engineer. The book is called "High Performance Web Sites" and is published by the venerable O'Reilly Press, and in it Souders argues that the biggest performance cost is rendering time on the browser. I think this is a very interesting concept and probably very applicable to the web reports that I am now spending most of my working time creating.

Back at the end of October eWeek reported that many users regard Windows Vista as "eye candy" and a "skip version". I have to say that I see that too. Folks are unclear about the benefits of migrating to Vista, but have clear conceptions of potential harms, including excessive hardware requirements and onerous DRM and anti-piracy restrictions. My understanding is that it can be difficult to convince Vista to work on a virtual machine which is in direct conflict with the desire of many enterprises to consolidate servers using virtual environments.

Whatever follows Vista might not have better luck. As found on Slashdot, PC ownership in Japan has been rapidly falling mostly due to the increasing capability of cell phones and video game consoles. So goes Japan, so goes the world? Why use an all-inclusive operating system like Vista when you can use something specifically adapted for the task at hand?

This afternoon I happened across an article entitled "10 career killers to avoid" in ComputerWorld. I'm a sucker for articles like this as I like to see if others agree with my technology predictions. In this case, the article is not about the future prospects of specific technologies, rather it advises one to have long term plans. My recommendation for IT folks looking to develop a long term viability plan is to 1) develop an understanding of the business so that they can offer intelligent suggestions for the uses of new technologies, which they will 2) know because they watch trends and keep their 3) javascript, HTML and web services skills up to date. Oh, database skills are important too, as there will be mountains of data to wade through.

Web skills, IMHO, are an excellent bet as all those IPhones and GPhones and whatever else will use some derivative of a web browser to access data via web services.

The big question in my mind right now is how Microsoft Dot Net will fare against Java in the middle term. Most software job postings in eastern PA in the last couple of months seem to be java-related. I'm not sure yet if this is a long term trend or just a normal fluctuation.

The problem I see with Java is that there are lots of variations. Sun doesn't do as good a job as Microsoft in documenting their runtime, and there's a lot more stuff to know between the user and the hardware with LAMP technologies. At this point, I suspect most problems can be solved more quickly with DotNet than with LAMP and this time advantage offsets whatever cost difference is involved with O/S and development software licenses. Microsoft is watching security issues keenly and addresses most very quickly. Should Linux reach the adoption level that Microsoft has now, what organization will ensure that security holes are quickly patched and the patches distributed?

Microsoft could still shoot itself in the foot. It's happened before and it could happen again if, for example, Microsoft decided to force Vista adoption.