Now Reading – Recently Completed – The Worthing Saga by Orson Scott Card

Originaly posted here.

The Worthing Saga

By Orson Scott Card

The Worthing Saga

You can view this book’s Amazon detail page here.

Tags:

Started reading:
17th Jul 2006
Finished reading:
24th Jul 2006

Review

Rating: 7

The Worthing Saga is a series of short stories and novels that tells the story of an empire’s death and rebirth. It is the story that began Orson Scott Card’s career. This book includes stories as published in 1978 and continuing through its release in 1990. The audio version includes readings by both Emily Card and Orson himself.

This book, the Worthing Saga, includes both The Worthing Chronicle and a grouping of short stories. The Worthing Chronicle is a grand unifying story that combines both the novel HotSleep and many of the short stories that were worked into the Worthing Chronicle.

Those stories were not rewritten for this book, but appear in close to their original format. So, the do not all quite align with the saga, but that’s OK. They are entertaining none the elase. They were written as independent works and published in magazines and in part in one or two novels (Hot Sleep and Capital). OSC decided to publish them as-is without removing inconsistencies for the Worthing universe is after all a story about memory, its truths and its lies.

This was my second reading of The Worthing Chronicle. I don’t normally do short stories, so it was a difficult book to read the first time through. I don’t think I ever finished it. Too often short stories ends before the author can fully explain the characters and I read almost exclusively to hear people’s stories – even if they are fictional people.

In the end – though I will say that the Worthing Chronicle was a more craftily interwoven story, I enjoyed the HotSleep version of the story much more. HotSleep rings true to me where as Chroncicle is perhaps told in a more technical correct manner.

I do recommend you read both Hot Sleep and The Worthing Saga, but you should read HotSleep first. It delves more deeply into every character in the story and helps you understand the Worthing Saga in a deeper way.

Unless you have a really good used book store around you (my favorite was flooded two years ago and never recovered a REAL shame), the only place you will find Hot Sleep is attached to the second issue of OSC’s magazine The Intergalactic Medicine show. You can buy each issue for under $3 and you get MORE than your money’s worth.

Visit it at: http://www.InterGalacticMedicineShow.com

IMPORTANT: Attention Doctor Who & Douglas Adams Fans

I’ve just noticed that BBC7 – the British radio station that simulcasts on an Internet stream – recently re-aired the Doctor Who episode series “Shada”.

Shada was originally a never made six episode series from 1980 when Tom Baker was starring as the fourth Doctor. And who wrote many of the episodes starring Tom Baker (including this Shada)? Why none other than the late great Douglas Adams of Hitchhiker’s Guide to the Galaxy fame. Shada was actually Douglas’s last contribution to the Doctor Who TV universe. And finally on New Years Day 2006, it saw (heard) the light (sounds) of day in the shape of made for radio drama aired world wide on BBC7. And this week it was rebroadcast – DON’T MISS IT!!! One word of warning, the plot has been transposed to take place during the eighth incarnation of the Doctor – Paul McGann. Oh – and K9 is there too! 🙂 It’s funny, Shada Episode One starts with The Doctor (McGann) giving with a brief description of the scenes from The Five Doctors when he was in a different incarnation (Baker). It’s just strange. (I guess you had to be there….)

Paul McGann as The Eighth Doctor

Parts of this episode were filmed with Tom Baker but it was never completed. In fact, if you’ve seen the movie “The Five Doctors” all of the Tom Baker scenes in that movie were original footage made for the Shada episode. “Shada” was first aired over the Christmas holidays last year.

I know it is late notice but today and tomorrow, you can go to BBC7’s “Listen Again” page and scroll down to the 7th Dimension section at 18:00 to see the listing for Shada. It requires Real Player, but you can just click the “Listen Again” link or icon.
http://www.bbc.co.uk/bbc7/listenagain/sunday/

On Sunday, you can still cheat and listen to the show by connecting directly to the RAM file any time right up till 11:59:59pm London time. Shortly after that, the second episode in the Shada series will be found at that link.
http://www.bbc.co.uk/bbc7/listenagain/sunday/rams/0000.ram

If you’ve stumbled on this post after this date and have missed the first episode, send me an email. I’ll commiserate with you. Or you can check out the online comic version of Shada that was written for the now defunct Cult BBC pages. You need to have Flash to enjoy the visual and audio extravaganza: http://www.bbc.co.uk/doctorwho/classic/webcasts/shada/one/index.shtml

You can also read more about the episode plot here: http://www.bbc.co.uk/doctorwho/classic/episodeguide/shada/plot.shtml

Favorite Quote: “Tea?” “Yes please.” “Milk?” “Yes” “One lump or two?” “Two please.” “Sugar?” “What???”

BBC7’sEpisode Summary:

DOCTOR WHO: SHADAWritten by Douglas Adams. Directed by Nicholas Pegg. Produced by Big Finish Productions.
Saturday December 10 at 8pm

The good Doctor made a comeback to TV in 2005. But this Douglas Adams adventure has made a comeback on radio instead! Starring Paul McGann, Susannah Harker and Edward Fox.
The Doctor has a spot of unfinished business. Reunited with his old friends Romana and K9, he answers a summons from Professor Chronotis, a retired Time Lord now living the academic life in a Cambridge college.

But the Doctor isn’t the only visitor to Cambridge. Somewhere in the city is the sinister alien Skagra, who is intent on stealing an ancient and mysterious book brought to Earth by the Professor many years before.

What is Skagra’s diabolical masterplan? And who or what is the mysterious Shada? To discover the truth, the Doctor and his friends must embark on a perilous journey that will take them from the cloisters of Cambridge to the farthest reaches of deep space, risking deadly encounters with a sentient spaceship, the monstrous Krargs, and an ancient Time Lord criminal called Salyavin. As the Doctor soon discovers, the fate of the universe hangs in the balance…

My take on the Winternals/Sysinternals buy-out by Microsoft

Over on the ZTree forum, I defended Mark Russinovich when he was being accused of selling out for money..

Hmmm… become the 15th to accept the position of Microsoft Technical Fellow, the most prestigeous technical position at the most lucrative software corporation on the planet – with the salary to boot… or turn it down because there is the possiblity that you can no longer provide free software from your promotional/blog site…

Hmmmm…. That’s tough personal choice and I’m sure their 85 employees would have agreed that this was an important DEMAND that should have entered into the negotiations even if it meant lowering any possible wage increases.

Well, maybe not… 😉

It seems that many people disagree with that. They think that Mark should have made the same response as Open Source fundamentalist Eric S. Raymond when he was offered a job by Microsft. His response letter is a fun read:

I’d thank you for your offer of employment at Microsoft, except
that it indicates that either you or your research team (or both)
couldn’t get a clue if it were pounded into you with baseball bats.

On the ZTree forum I went on to say, and its worth repeating here, that the thing is, I am just not that much of a Microsoft hater. I think there are companies that treat their employees worse. I think there are ones that have more arbitrarily bought and shelved products. I think there are OS providers that have more unilaterally have said “THIS IS HOW OUR SOFTWARE IS USED” and “THESE ARE THE MANUFACTURERS THAT WILL MAKE COMPUTERS THAT RUN OUR OS”.

So, when I hear about a guy who has for years worked with Microsoft, made money off of utilizing and being an expert in the APIs built into their software, who was a key note speaker at their conventions, who then takes a job when they offer, I am not surprised. They were bed fellows, despite any minor disagreements on what architecture should or should not be left in their OS.

BTW, I’m not saying that Microsoft is pure and has never used unfair hiring practices. I just don’t see this as an example of it. They HAVE had business savvy yet morally repugnant business practices in the past.

What Borland devotee doesn’t know that? Heck, a large portion of Microsoft .NETs success is due to them hiring 34 Borland employee within 2 1/2 years. It culminated with MS absconding with Borland’s chief Delphi architect, Anders Hejlsberg. This was at a time when Anders was in the middle of the JBuilder design and Microsoft was being sued by Sun for including the word JAVA in the poorly designed Microsoft Java products. You can read all about that here: http://delphi.about.com/od/delphifornet/a/conspiracydnet_2.htm.

If the rumors at the time were true and Anders got a 1 million dollar signing bonus and six months paid leave in addition to the stock options and salary commensurate with being the lead on the .NET architecture, can you really blame him personally for taking the job? I guess some do, but if I thought I could do the job without violating any previous NDAs and non-competes, it would be mighty hard to turn that job offer down. Even though he was their chief architect, Borland could not have been paying him all that well at the time. I’d be surprised it that signing bonus would have matched much less than 5 years of his Borland salary.

That one was well worth a rant but still it was obviously a smart move on MS’s part. They didn’t shelf him, they used him and he’s probably more than earned his salary and bonus.

Even ten years out the Anders Hejlsberg hire feels much more like betrayal than the Winternals hire does. The 120 million that Microsoft paid to Borland 4 years later, proves it. Such a lawsuit won’t exists around the Winternals buy out.

What do you think? Did Mark and Bryce sell out to big business or were they morally obligated to accept the offer for the benifit of their families and decendents? Are the those two things mutually exclusive?

How to get around “Access is Denied” in a Window.Open() JavaScript call

I’ve made two changes to the Forms and Field lister I posted yesterday – the original post has been altered to include them.

First and foremost, the line to paste into Start->Run to install the program into the registry was being altered by WordPress. Though the text looked identical, the double quotes were being changed to a different character. The result was you would receive an “invalid key name” error. If, in DOS, you went back and replaced the double quote imposters with actual double quotes, it would run fine. So I have wrapped that line with PRE and TT tags in the original post and provided a batch file in case anyone still has problems.

Second, it was discovered that some Windows computers would block the popup. There would be no error given or any indication of what happened beyond a dialog box flashing up on the screen and disappearing. I debugged this by adding alert(1),alert(2)…alert(n) messages after every line of the source code. Once I did that, IE was kind enough to tell me that it was bombing out due to an “Access is Denied” error triggered from my Window.Open(“”,”tcc_formlist”,””); command. That line worked at my office, but bombed out on one of my home computer.

The reason is that Windows now blocks one window or frame accessing another window or frame that is in a different domain (or security zone I believe). This technique is calls Cross Frame Scripting. The problem is that what I am doing with these tools IS exactly working across two frames/windows. Luckily there is a way around this.

The JavaScript Mini-FAQ, available here: http://www.dannyg.com/ref/jsminifaq.html#q15, has a good description of this issue and the work around:

Q. What does the IE “Access is Denied” error mean?
A. The “Access Denied” error in any browser usually means that a script in one window or frame is trying to access another window or frame whose document’s domain is different from the document containing the script. What can seem odd about this is that you get this error in IE for Windows frequently when a script in one window generates a new window (with window.open()), and content for that other window is dynamically created from the same script doing the opening. The focus() method also triggers the error.
The error can also occur if scripts try to access objects, properties, or methods that have been locked down by Microsoft’s security platoon. For instance, the document.styleSheets.rules property used to be accessible in IE 5 and IE 5.5, but is not in IE 6.

For the new window problem, there is a bit of history associated with the problem and workarounds. For example, the problem occurs frequently when the scripts are being run from the local hard disk. You get a clue about the situation in the titlebar of the new window: It forces an about:blank URL to the new window, which is a protocol:domain that differs from wherever your main window’s script comes from. If, however, you put the same main window document on a server, and access it via http:, the problem goes away.

There is a workaround for the local-only problem: In the first parameter of the window.open() method call, load a real document (even if it is a content-free HTML document) into the sub-window before using document.write() to generate content for the subwindow. The loading action ‘legitimizes’ the window as coming from the same domain as your main window’s document.

(This solution does not affect scripts that load a page from a secure server into a separate window or frame. An http: protocol in one window and https: in the other–even if from the same server.domain–yield a security mismatch and “Access Denied.” Setting the document.domain properties of both pages may solve the problem (but I am unable to test it for sure).)
[…]

I’ve updated the original code to include this fix.
Window.Open(“”,”tcc_formlist”,””);
is now
Window.Open(“file:///c:/Windows/web/formlist.htm”,”tcc_formlist”,””);

The end result is that window.open command quickly opens the script before the dynamic content is displayed. This little blip is not noticeable on my daughters computer. I don’t think it will be a major slowdown. Due to how the code is written, the whole of the JS routine is not executed. The biggest negative is that the script now has a reference to what I expect the file name to be on your computer. If you rename the script, you need to change that reference in the source. I doubt many people will rename the script.

That was kind-of a ramble… Does that all make sense?

YouTube Sued For Copyright Infringement

A Los Angeles video news service sued YouTube Inc. on Friday in federal court for allowing its users to upload copyrighted video footage onto the popular Web site.

It turns out that the videographer that filmed the OJ chase and the of the beating of trucker Reginald Denny during the LA riots in 1992, is suing YouTube because his video is popular.

This follows YouTube being sued by the RIAA because it included videos WITH SOUND of kids dancing to music. And gosh – none of the 14 year olds paid royalties to dance with the music… go figure!

(BTW this is done with the automated DIGG posting system. I figured I’d give it a try…)

read more | digg story

—————
If you would like to promote this article, please vote to Digg It

Listing the Forms and Fields on a page in Internet Explorer or Maxthon

This post is an introduction to what I’ve been researching in my spare time over the last few weeks. It will be the first in a series of posts about form submission. It will lead you basically along the path that I took in discovering this information, and will hopefully allow you to skip over some of the trouble spots along the way. I’ll note each of the trouble spots in the comments in the doc (for instance in this one I include a note about the value of a button also being submitted with the form).

This HTML file builds on top of the work that I did on with the Copy as Text Link tool referenced elsewhere on this site. However, this routine processes the currently active webpage/frame and generates a report of the Forms and fields on that page. For each form it shows its name, action and then list the inputs on that form. For each input, it shows its name and value. From this information, you can see what is being tracked between pages on a website. You could also use this information to debug an entry form you are creating. It could also be used to generate the form submission information that will be generated by a certain action so that it can be repeated programmatically in the future.

This routine will only work in IE right now and older releases of Maxthon. It could easily be transposed to other browsers and tools. The process should be relatively easy to follow thanks to Microsoft’s Document Object Module (DOM) technology. DOM allows HTML code to be accessed as if it were Object Oriented. In other words, this routine doesn’t work with the HTML source code. Instead it asks IE for specific parts of the webpage one at a time. This allows each of the various parts/divisions of any web page to have its own particular properties and methods. This routine asks asks the document object for the list of forms it contains. It then asks each form for a list of fields. It displays each in its turn.

To install this file in IE, right click on the following link and choose Save Target As. Then in the destination window type %WINDIR%\web\formlist.htm and press enter.

RIGHT CLICK THIS LINK

%windir% is an environment variable that represents your Windows directory. So you can put C:\Windows\Web\formlist.htm if you know you have a c:\Windows directory.

Then choose Start->Run and put in this text and then press enter:

reg ADD "HKCU\\Software\\Microsoft\\Internet Explorer\\MenuExt\\F&orms and Fields" /ve /t REG_SZ /d "%WINDIR%\\web\\formlist.htm" /f


That will update your registry to point to the file. If you have problems, use this batch file instead. It contains the same command but will not be corrupted by windows.

Then close all instances of IE.

Now browse to a web page that has a form, most of them do now-a-days.

Right click anywhere on the text of the form and choose Form and Fields from the menu.

You’ll now be able to see all sorts of information about the page you were on and the fields and hidden fields it contains.

BTW, this routine uses a pop up window. Popup blockers like the Google Toolbar will try to block this form. So, you just might have to hold down the CTRL key as you choose Form and Fields to allow this to work.

Also, FYI it works in Maxthon through at least version 1.5.2 build 21. I think build 23 reworks the context menu stuff, but don’t quote me on that.

Enjoy!

Sample output from FoxNews.com

(Source code follows)
NOTE: There is now a reference to the final location of this file in the source code. If you install this as something other than c:\windows\web\formlist.htm you must now update the source code.

Continue reading Listing the Forms and Fields on a page in Internet Explorer or Maxthon

Goodbye Sysinternals! Hello MS RootKit Revealer..

I was shocked when I followed a link from the ZTree forum over to Winternals.com. Winternals and Systernals are sites that host some of the very best and most unique core operating system tools out there and most of it is free…

This announcement comes one week to the day after the Austin Texas based Winternals, with its 80+ employees, reached a settlement with Best Buy and its subsidiary Geek Squad. So, this is a bangup month for Winternals.

Even the non-geek heard of the firestorm that erupted over Mark’s discovery of a Root Kit installed by Sony CDs. Well, that discovery was made while he was beta-testing a recent version of RootKit Revealer, one of the may free tools he offers on his site. Well, now we have to call it the Microsoft Rootkit Revealer.

Mark is no stranger to the people at Microsoft. It is unlikely that his near-celebrity status was what drew Microsoft’s eye. In fact, I beleive Mark has been a key speaker at Microsoft’s Technet Canada’s IT conference Energize IT!

So, now Mark has a chance to take their advice to “Get your geek on!” for real. The Winternals FAQ of course views this as a very positive move:

Winternals and Sysinternals have been acquired by Microsoft. Winternals is a leading provider of systems recovery tools for Windows-based enterprises worldwide and Sysinternals is one of the leading community and enthusiast sites for people interested in information about the internals of the Windows operating system.

This can only be a good thing for founders Mark Russinovich and Bryce Cogswell personally. And I wish them all the best. Mark blogged:

I’m joining Microsoft as a technical fellow in the Platform and Services Division, which is the division that includes the Core Operating Systems Division, Windows Client and Windows Live, and Windows Server and Tools. I’ll therefore be working on challenging projects that span the entire Windows product line and directly influence subsequent generations of the most important operating system on the planet. From security to virtualization to performance to a more manageable application model, there’s no end of interesting areas to explore and innovate.

You see that term there? “Technical Fellow” – that’s a BIG deal. That means he’s regarded as one of the top 14 technicians at Microsoft. To quote Bill Gates: “Impressive. Most impressive.” or was it Bill that said that? anyway, the big question is if that innovation will be stifled by the obligations entailed in managing a software package with such a wide global distribution.

And what is going to happen to all of those free tools from Sysinternals?

Mark tells us:

Microsoft is still evaluating the best way to leverage the many different technologies that have been developed by Winternals. Some will find their ways into existing Microsoft products or Windows itself and others will continue on as Microsoft-branded products. As for Sysinternals, the site will remain for the time being while Microsoft determines the best way to integrate it into its own community efforts, and the tools will continue to be free to download.

Well, I’ll wager that Mark and Bryce are off on a two week island vacation right about now and I think I’ll go start downloading the existing tools now… Ta!

PS: I feel like I should apologize to Bryce Cogswell. He’s just behind the scenes in this move. I get the feeling he’s Winternals Paul Allen. With Paul’s personal assets of $22 billion USD, I suppose there are worse comparisons to be made…

PPS: It is interesting to note that people have begun to point to the missing LockSmith download page as an indicator of MS’s plan for the free tools. (Google Cache of the Page) I think it is more likely that during the rebranding of the SysInternals site, they got rid of a page that described a tool that could no longer be downloaded outside of the Administrators Pak. Perhaps bad timing on their part.

Related articles:

If you like this article Digg It! ( My first attempt at Digg’ing. I feel like that frog from Kellogs but I guess he was Diggem…)

New Blog Feature – Now Reading….

I’d decided to install Rob Miller’s “Now Reading…” version 4.0 plugin ages ago to replace my Read in 2005 and 2006 categories. But I knew there was a new version of my current theme out. So, it didn’t make sense for me to manually add the required template changes especially when the new version of Binary Blue supported Widgets and writing a Now Reading Widget woud be simpler than updating the template all the time. Skip a few months and now Rob himself has investigated widgets and made his own available for Now Reading. So I rushed over to his site, grabbed it and installed it right away! S0000 SWEEET!

Unfortunately, my excitement got the better of me. I failed to notice that the download page for Now Reading had, not only the widget available, but also an updated version of the plug in. The current version of Now Reading was 4.2 and installing the plug in with 4.0 caused the side bar to blow up with a missing function error. I realized my probably mistake right away, uninstalled it all and reinstalled in the correct order with the latest.

Unfortunately, my woes did not end there. I found three problems with 4.2 that could be fixed with relative ease. The first problem was a ” *Fatal error*: Cannot redeclare now_reading_add()” Error. That was very easy to find. I had one link that didn’t work and one link for the same page that did work. A quick change to make now-reading-admin.php always use the “post.php?page=now-reading-add.php” syntax instead of “post.php?page=now-reading/now-reading-add.php” and the problem was solved.

The next problem was a “1 book *Warning*: Cannot modify header information -” error message that came up each time I edited a book. That looked just like a debug comment, and indeed Rob confirmed that this one was fixed in his own code already but didn’t say how. I didn’t have access to check out the latest code yesterday, so I fixed it myself. The total_books routine takes a parameter to termine whether or not to print to the screen. In one place, the parameter was needed but not specified. So I changed
if ( $count > total_books(0) )
to:
if ( $count > total_books(0, false) )

and that problem was solved.

I sent those two changes and a recommendation that the widget check for the correct version of the plugin to him and he replied with a thanks, he’d put in the changed the code as I’d suggested (b4 or after I don’t know) and notice that 4.21 was released! Cool, that means no one else should get these errors.

Unfortunately, I noticed two minor things after that point. First, one book I entered had an apostrophe in the title. Unfortunately, the plugin now put a slash in front of the appostrophe. I SUSPECT that this is a WP 2.03 issue and I have not reported it to Rob. I’ll install 2.04alpha/beta/whatever soon and see if the problem goes away.

The next minor issue was reported to Rob with the fix. After I put in the 12 books I read this year, the plugin was reporting that I had an average of 144 books a month. I admit that my 2 books* a month average this year is pathetic compared to last year’s 3.6 (I read nothing in March this year oddly enough – I guess that’s when I started the blog and nothing struck me as interesting enough to take my time away from that. And I’ve also been reading a lot from Orson Scott Card’s Intergalactic Medicine Show), but I’m not going to bolster it to 144 books a month…

So, I dug into the average query and found the problem…

I shot another email to Rob just before two this morning:

>I’ll add a version check to the widget now, good idea.
Thanks!

Oh and I have one more update if you haven’t fixed this one already too..

Your average books calculation was off. You’re missing a MIN statement around the b_added.

So it should look like this:
SELECT
( COUNT(*) / ( TO_DAYS(CURDATE()) – TO_DAYS( MIN(b_added) ) ) ) AS books_per_day
FROM
{$wpdb->prefix}now_reading
WHERE
b_status = ‘read’

Nice plugin… Now I’m just trying to remember all of the books I’ve read so far this year… I just remembered another… So that’s 12…

That change is in template-functions.php around line 145. I think I’ll keep my current version installed till the fix is out.

So, now you can look at my sidebar now and see all of the books I am reading and have read this year. And if you like the idea of any of the books I’ve read, you can purchase it through the links and I’ll get a peice of the action. (Actually for now Rob will. I’ve not put in my own Amazon ID yet.) I don’t think I’ll put in last year’s 44+ books for a while yet. Each book deserves a comment but that’s 44 more blog entries I need to write. So, I’ll piece meal them in. If you like what you see, please visit Rob’s site and download the latest and greatest versions of now reading. Just click this link: http://robm.me.uk/projects/plugins/wordpress/now-reading/

BTW, I put together the promised context menu post I mentioned the other day, but was debugging something and decided to backup the file and wipe out most of the file so that I could Isolate what I was debugging. Unfortuately, I forgot I’d also already changed the name of the working file. *smacks head* So, I lost some of my change and all of my extended commenting. I just need to re-review the comments ( the second time you put in comments they are never as good as the first time you put them in ) and I’ll publish the post. Probably tomorrow. I’ve got a lawn to mow and a carpet or two to shampoo… Cheers!

* One of the people in our shipping department had a discussion with the UPS guy saying both stated that they’d each only ever read 1 book cover to cover. How sad (not not meaning pitiful but saddening) is that…

Measuring a site’s popularity

I was going to post this to wp-hackers in reply to a couple other posts but decided it was WAY to off topic
[wp-hackers] Close old comments and pingbacks: feature or plugin? Jamie Holly
[wp-hackers] Close old comments and pingbacks: feature or plugin? David Chait

I decided it is too off topic and Robert Deaton would get on my case again. 😉 I didn’t want to waste the typing. So you all get an extra post today…

> I’d have more fun designing for a site getting .75M hits/day —
> send me some of that traffic! 😉

0.75m is 0.75m, Kudos to Jamie. Actually I guess its .36m/day between the two sites. Still in large part, I ignore hits when figuring out how my sites are doing…

More specifically, I can’t see how it much helps in comparing two sites either. My reasoning: To go to an extreme, if a site is Flash based, I’d assume the hits/visit is low as it would be with a largely text based site – perhaps even < 10 hits per visit. If a site has lots of graphics and little tag images (translation flags, "new" buttons, whatever), I would assume the hits/visit are WAY higher. My hits per visit is around 47 - I suspect I should try to lower that. So, if I use only hits as a measure and compare myself with a text based site with 12 hits per visit, my hit count would be four times higher but we would get the same level of traffic. And even that ratio is subject to the definition of "a visit". I use two different stat engines to evaluate my sites: AWStats and WebStatistics. AWStats often reports "Unique Visitors" to be as low as 1/3 of the "Unique Visits" reported by WebStatics. Part of the difference there is the visitors/visits issue, another part is awstats filtering out search engines and another part of it is AWStats has a much more liberal definition of what constitutes a single "visit". I'm just not certain that I have a number of people spending an 1+ browsing my site. It's really cool if I do, but I suspect it is people returning to the site (tab) once or twice within a 2 hour period. Am I correct in saying that the ONLY way to compare the traffic between two sites is to look at the same stat by the same stat engine on both sites (e.g. comparing "Number of visits" in AWStats.)? Am I way off on this? As I said at the beginning. 0.75m/day is 0.75m. That's more traffic then any of my current sites will ever see. What is the best method of measuring a blog's popularity? I know it isn't alexa... I currently have half the traffic of my wife's site but Alexa sure doesn't show that... http://www.alexa.com/data/details/?url=Thecodecave.com http://www.alexa.com/data/details/?url=www.knitchat.com Denise's site has been around for almost two years vs four months for my site. So, I'm pleased with my progress. "My unique Visitors" have been doubling each month. I don't think that will happen this month since I have missed half a month of posts, I expect only a 20% increase over last month... But all's good...

How to run PHP5 on 1and1.com in 1 easy step…

It actually can’t get any easier than this.

Just put the following line in your .htaccess file:

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

And your done! Your site is now running under PHP5.

Enjoy…


Want proof? Want to know details?

Well… Here you go…

It turn’s out that 1and1.com accounts all come with PHP4 active. By default php files are processed by PHP Version 4.4.2.

Test this out on your 1&1 server without affecting the operation of your site:

Create a new directory called TestPHP4

Create a file in that folder called index.php that contains the following text

[php]

phpinfo();
?>

[/php]

Then open that directory in your web browser.

You’ll get something that looks like this:

PHP Logo

PHP Version 4.4.2

System Linux infong 2.4 #1 SMP Wed Jan 18 14:53:29 CET 2006 i686 unknown
Build Date Feb 6 2006 10:16:02
Configure Command ‘../configure’ ‘–with-pear’ ‘–with-mysql=/usr’ ‘–with-zlib’ ‘–enable-debug=no’ ‘–enable-safe-mode=no’ ‘–enable-discard-path=no’ ‘–with-gd=/usr’ ‘–with-png-dir=/usr/lib’ ‘–enable-track-vars’ ‘–with-db’ ‘–with-gdbm’ ‘–enable-force-cgi-redirect’ ‘–with-ttf=/usr/’ ‘–enable-ftp’ ‘–with-mcrypt’ ‘–enable-dbase’ ‘–enable-memory-limit’ ‘–enable-calendar’ ‘–enable-wddx’ ‘–with-jpeg-dir=/usr/src/kundenserver/jpeg-6b’ ‘–enable-bcmath’ ‘–enable-gd-imgstrttf’ ‘–enable-shmop’ ‘–enable-mhash’ ‘–with-mhash=/usr/src/kundenserver/mhash-0.8.9/’ ‘–with-openssl’ ‘–enable-xslt’ ‘–with-xslt-sablot’ ‘–with-dom’ ‘–with-dom-xslt’ ‘–with-dom-exslt’ ‘–with-imap’ ‘–with-curl’ ‘–with-iconv=/usr/local’ ‘–with-freetype-dir=/usr/include/freetype2’ ‘–with-bz2’ ‘–with-gettext’ ‘–enable-exif’ ‘–with-idn’ ‘–enable-mbstring=all’
Server API CGI
Virtual Directory Support disabled
Configuration File (php.ini) Path /usr/local/lib/php.ini
PHP API 20020918
PHP Extension 20020429
Zend Extension 20050606

Now copy and rename the TestPHP4 directory as TestPHP5 (or create the directory as above manually). Now create one more file in the TestPHP5 directory named .htaccess

Make certain a period is in front of htaccess like this: .htaccess

The period indicates this it is a hidden file. It tells your system how to process requests. In this case we will tell it to process all .php files as php5 files. That is done by adding the following line:

AddType x-mapp-php5 .php

Now save that file and browse to the directory with your web browser. You’ll see something like the following:

PHP Version 5.1.4

System Linux infong371 2.4.28-grsec-20050113a #1 SMP Thu Jan 13 08:59:31 CET 2005 i686
Build Date May 4 2006 13:56:29
Configure Command ‘../configure’ ‘–program-suffix=5’ ‘–with-pear=/usr/local/lib/php5’ ‘–with-config-file-path=/usr/local/lib/php5’ ‘–with-libxml-dir=/usr/local/php5’ ‘–without-sqlite’ ‘–with-config-file-scan-dir=.’ ‘–with-mysqli=/usr/local/mysql/bin/mysql_config’ ‘–enable-soap’ ‘–with-xsl=/usr/local/php5’ ‘–enable-mbstring=all’ ‘–with-curl=/usr/local/php5’ ‘–with-mcrypt=/usr/local/php5’ ‘–with-gd’ ‘–with-pdo-mysql=/usr/local/mysql’ ‘–with-freetype-dir’ ‘–with-libxml-dir=/usr/local/php5’ ‘–with-mysql=/usr/local/mysql’ ‘–with-zlib’ ‘–enable-debug=no’ ‘–enable-safe-mode=no’ ‘–enable-discard-path=no’ ‘–with-png-dir=/usr/lib’ ‘–enable-track-vars’ ‘–with-db’ ‘–with-gdbm’ ‘–enable-force-cgi-redirect’ ‘–with-ttf=/usr/’ ‘–enable-ftp’ ‘–enable-dbas’ ‘–enable-memory-limit’ ‘–enable-calendar’ ‘–enable-wddx’ ‘–with-jpeg-dir=/usr/src/kundenserver/jpeg-6b’ ‘–enable-bcmath’ ‘–enable-gd-imgstrttf’ ‘–enable-shmop’ ‘–enable-mhash’ ‘–with-mhash=/usr/src/kundenserver/mhash-0.8.9/’ ‘–with-openssl’ ‘–enable-xslt’ ‘–with-xslt-sablot’ ‘–with-dom’ ‘–with-dom-xslt’ ‘–with-dom-exslt’ ‘–with-imap’ ‘–with-iconv=/usr/local’ ‘–with-bz2’ ‘–with-gettext’ ‘–enable-exif’ ‘–with-idn’
Server API CGI
Virtual Directory Support disabled
Configuration File (php.ini) Path /usr/local/lib/php5/php.ini
Scan this dir for additional .ini files .
PHP API 20041225
PHP Extension 20050922
Zend Extension 220051025

You now have two different directories that process files using two different php engines.

Pretty cool huh?