Monthly Archive for January, 2007

Googlebot Likes 404s

I’ve been playing around with the Google Webmaster Tools and have noticed one thing on the site verification process, that is not present on the Diagnostics/Crawl Errors tab…

Last attempt [date]: We’ve detected that your 404 (file not found) error page returns a status of 200 (Success) in the header.

Google will be unable to verify your site [for this service] if it is setup in a way where all URLs that do not exist, redirect back to the main page. But more importantly, from the look of things, this also has an effect of receiving a penalty and/or keeping your site out of the Google index.

DynamicSide.NET was like that, and Enotarize.com was even worse, not redirecting back, but rather just displaying the main page on any and all URLs [what can I say, its a very simple site, pre-beta].

And I was wondering why I have not been seeing much traffic on those two from Google search.

With DynamicSide.NET, there seemed to be some type of a penalty [nothing under the webmaster tools, but I have a feeling something is going on]. And with Enotarize.com, it looked like it was not being indexed at all, for some time. I’m sure that also had/has an effect on DeveloperSide.NET, as I’m linking back to both sites.

On another note, content that did exist on your site at one point, that has been removed, should return HTTP Status code ‘410′ “gone”, over the ‘404′ “not-found”.

And what about a situation where content has moved URLs, yet there is no simple way for you to redirect… A good example of this situation is under our Forums, with the switch from phpBB to SMF. They both have non-compatible ways of associating URLs to posts and topics. Right now I’m just redirecting everything hitting the old phpBB ‘viewtopic.php’ URLs to the main forum URL. Perhaps I should be using a ‘303′ “see-other” code…

Status Code Definitions
Webmaster Guidelines

Lets Start a VPS/VDS WAMP Hosting Service

I’ve got an idea, lets start a VPS/VDS WAMP [Windows,Apache,MySQL,PHP] Hosting Service, using Windows Server 2003 as the guest OS.

First, we will need a dual CPU setup with the Intel-VT or AMD-V architecture extensions, lots of RAM, and SCSI drives under RAID. As you really do need a dual cpu setup to run these solutions.

The top two choices for a Virtualization Solution (aside from VMware) that supports Windows as a guest OS are…

  • Virtuozzo
    A true VPS solution with operating system-level virtualization. Provides multiple Virtual Environments (VE), that multiplex between one main Kernel. Lowest-overhead, fastest-performing solution. Can probably manage 100 linux-based VE/VPS instances on a Server; 3 times the number compared to other solutions.

    Cost is an issue… $1000 per socket [physical CPU]

    You will need to license their management tools. Good luck trying to figure out what you do need, and the difference between these two [I think the later is a web-based interface to the former?]…

    Management Console VZMC (GUI based)
    Single Server License $200 per seat.
    Unlimited server license $1000 per seat

    Control Center VZCC (web-based management)
    Single Server License $300 per seat

    Support will also run you $400+.

    The end-user will need the Virtuozzo Power Panel (VZPP).

  • XenServer
    A paravirtualization solution that has the industry’s support and backing. Modifies the guest OS [or makes use of the mentioned cpu extensions] to cooperate in the virtualization process.

    Cost, for 2 sockets, per year…
    XenServer $99 [licensed to run 8 virtual machines on each system]
    XenEnterprise $488 [has no limit, maybe could handle 30 linux-based VPS instances]

    A number of third-party tools are available.

Lets note that the above products can only handle 2-3 times less the number of Windows-based instances [just a guess on my part].

Lets look into the licensing costs/issues of a setup like this…

Virtual Machine Technology FAQ

Each copy of Microsoft Windows Server, whether used as the OS for a virtual machine (“guest OS”) or as the OS for the server (“host OS”), must be separately licensed. For example, if a user is running Windows Server 2003 Enterprise Edition as a host OS on a server and creates two virtual machines, each with its own copy of Windows 2000 Server (each a guest OS), the user would require one Windows Server 2003 Enterprise Edition license and two Windows 2000 Server licenses.

Licensing does not depend on which virtualization technology is used. With a license for Windows Server 2003 R2, Enterprise Edition, you can run one instance of the software in a physical operating system environment and up to four instances in virtual operating system environments.

The MSRP on Windows Server 2003 R2 is $999 for the Standard Edition, and $3999 for the Enterprise Edition. So for 1 host and 40 max win32 guests, that would cost us $25,000 (~60% of retail). There is one problem with this… Microsoft can’t make up its mind on whether the License ties into the device or the end-user, and who exactly the licensee is. In this VH context, this might break a few clauses.

Luckily, Microsoft does have the Service Provider License Agreement (SPLA) which would allow us to lease the OS on a month to month basis for hosting. Its pay as you go, so if we only have 1 customer, we are paying for 1 license and for 1 month. While I cannot locate a pricing list, it is my understanding that the cost is usually at 3% of the perpetual price (retail, or average?).

Lets add another $5000 for the cost of renting the server and another $5000 that Virtuozzo will extort in licensing fees (for 40 users) [both for one year].

At this point, assuming 12 months and 40 accounts, we are in for $25,000. To break even, we would have to charge $50 per month. Which is still about $20 more than what you could charge for a Linux VPS. And at those prices we would be working for free. For one person to do this, and make a living, well, you would need lots of paying customers and farm of servers. Hosting is a cutthroat business.

More info on the subject…

There are also other noteworthy solutions like VMware (full virtualization) and Virtual Iron (based on Xen, except with Native Virtualization).

VMware has some really great things going for it, like ease of use, and their appliance initiative.

Spry seems to offer a dedicated server with Virtuozzo already setup, with 100 VE/VPS licenses — Linux as host/guest OS.

DynamicSide.NET Now Accepting DNS Records

Dynamic DNS at DynamicSide.NET

I’ve put up a working Dynamic DNS solution. Record update is immediate. Though your ISP/system/browser DNS cache might make you wait 10-15 minutes.

Mail and Web-Forwarding functionality have been temporarily disabled. But the dynamic dns part is good to go…

Create an account, and try it out.

*.dynside.net sub-domains are out for the time being — as I deal with our new DNS situation… but if you have a registered domain name, and can point it with your registrar to nameservers ns1.dynside.net and ns2.dynside.net, you are good to go.

I’m going to have to lose the Host’s nameserver entries for dynside.net, and just do my own authoritative DNS entirely. Not the best situation, but its the only way I can give away sub-domains, without entering a wildcard record with Linode DNS and delegating all unknown hosts back to me [there system will not accept an '*' type of record].

I think I can get that up tomorrow.

Update 01/28/07
DNS for dynside.net sub-domains has been enabled.

Serious DNS Issues With Linode

Today, when I got out of bed, and started up my system, zero of our hosted domains at Linode were resolving.

Tracking down the problem, I realized that while I could resolve the Linode.com nameservers [ns1.linode.com and ns2.linode.com] and ping their IPs — I could not get an answer to any record queries… Everything was dead in the water… Same effect as pulling the plug on the server.

I filled out a support ticket, and went to the Linode IRC channel. I showed that ‘dig @ns1.linode.com devside.net’ was not returning anything, while the NS server IP’s were reachable. Pretty quickly someone was working on it, and got it resolved.

I left the house for a few hours, only to come back to the same exact issue. Again, went to the IRC channel, notifying whoever was listening that the Linode nameservers were not responding to queries…

A very odd experience was about to follow that moment, a defining moment, a moment that separates your life into before, and after that moment…

No one seemed to know that the nameservers were freaking out, not answering queries for hours, maybe days at a time — for god only knows how long — maybe for the last two month? Hosted domains were not being resolved, nor did the users seem to care about that fact.

I asked something about the DNS issue, I don’t remember what. Suddenly, the users on the channel turned on me like a pack of hungry wolves. To them I was crazy, that I was demanding a solid DNS Service, that no one provides authoritative DNS Servers, and I must have been born with a silver spoon in my mouth for demanding some type of a $1200/month rackspace managed account service. They informed me that I should just go get a ZoneEdit account and run DeveloperSide.NET off it. That the DNS Service from Linode.com is beta and I should be grateful it even exists [never did I notice any beta labels]. I thought to myself whats next, when will I wake up from this dream? Could the provided Server IPs also be dynamic? Have I just moved DeveloperSide.NET to someone’s garage?

At that point, it really hit the fan, they started to come out of the woodwork from every direction. I was informed that there is no difference between an ISP/Host’s NS Servers and something you run yourself locally. I told them that many differences exist, the simplest one is the ping time to the Server’s IP. Here is an example…
ping ns1.linode.com Average = 34ms
ping ns1.dynside.net Average = 247ms
[ns1.dynside.net is at 90ms this time around -- still 3 times the wait with all the uncertainty]
I was told that I have a serious misunderstanding of how DNS works. You can’t ping a nameserver, it does not answer to ICMP resource record queries.

Battling the mob, I managed to get through to someone at Linode who went working on the problem, again. It was fixed [something to do with Nagios taking up too many resources and the 'oom killer'], but not before another problem occurred. This time, the devside.net zone would not get loaded to the nameservers. Some type of timing issue. Resolved after some time.

Not being able to rely on a host’s nameservers (with that notion being ludicrous IMHO), I’ve updated the list of nameservers with my domain registrar and have added ns1/ns2.dynside.net to the list. I have no idea how long DeveloperSide.NET has been down.

On top of all that, I’m still getting old cached dns data from some nameservers that still have it at ev1server.net. What a mess.

All in all, I cannot recommend Linode.com as a VPS provider at this time. As it turns out, their nameserver service _is_ beta and has only been implemented for a few months. To me, that just make no sense whatsoever, for a VPS provider — that has been in business for a while. I’m going to stick around, see what happens. But any more problems like this, and I’m gone.

Update:

It has been 4 months since the original post. Linode has been good ever since. A few hiccups here and there, but overall I have not had any major issues. Not bad for $20/month. And I was pleasantly surprised, when checking my account a few days ago, that it has been upgraded from 128MB to 256MB… Though I will need to backup and reboot before I get to allocate the extra ram.

DeveloperSide.NET Servers Moved

DeveloperSide.NET [and friends] started back in 2002/3 — with the lease of a dedicated server at rackshack.net -> which turned into ev1servers.net -> now known as theplanet -> which is also known as servermatrix… and who knows what else.

$120/month for a 512MB, P4 2.0, with a 10Mbit pipe, 700-1300GB allowance. You can get the same, or better, for about $70 a month now. But in my case, I would have had to switch to a new server to get the new price. Should have, could have, would have…

The service has been ok, in the sense that nothing major has gone wrong. I have not had to use support much either — just some minor issues and problems… Not that their support is good or anything; from what I have heard, it is not.

Recently, I updated my account’s cc info, and their system failed to take it. I called, they said no problem. Long story short: I made the mistake of assuming that they would simply credit back the cash, and just bill the new cc. Did not happen. cc is overcharged and for all I know, this could reflect bad on my credit, and raise the charge percentage six months.

Now that the Web-Developer Server Suite is on SourceForge [and pushing out 10gigs/day, moving up fast], I have taken the liberty of moving servers/providers…

We are now on a Linux VPS/VDS [virtual server] CentOS install at Linode. $20/month. They use UML [user mode linux] and have been established for some time. Can’t beat that price either for what you get. They offer different distros, but make sure to choose CentOS, as its a RHEL clone, and comes with everything you need from the start. Just one note though, and a major one… After you update the packages on the system (use yum over up2date), make sure you reboot with the 2.6 Linode kernel or you will think you hosed the system. I’m not sure why they do not just say so somewhere — their docs are seriously lacking.

The pings to the original server averaged 31ms, and now are at 91ms, but thats still pretty low to begin with, and the site(s) seem just as responsive, if not more. DNS has been updated with the new nameservers, and everything looks ok. All in all, a rather painful experience having to migrate data/servers, but it had to be done.

The only downside to this all, aside from taking 2 solid days out of my life, is the problem of the dynamic dns client that comes with the WDController…

It’s hardcoded to the old IP address; as I used a socket for the connection and the domain resolution on Windows seemed to freeze everything for a few seconds. Nothing can be done about it, and it wont be a problem until I shut the old server down. But still a mess nevertheless, and I will need to finish DynamicSide.NET and redo the client to POST the data to the domain. The work just never seems to stop.

Web-Developer Server Suite v1.94 Released [on SourceForge]

Web-Developer Server Suite at SourceForge.NET

phpMyAdmin has been updated and a major issue resolved. Hopefully this release also brings the random IE problems to a close.

All the Web-Framework Applications have been updated to their current versions. Drupal 5.0 is now in, over the 4.7 branch.

I’m looking for other developers to joint this project…

Contact:
devside_net at users.sourceforge.net

MySQL WIN32 Binaries Issue Update

With the new release of MySQL v5.0.33, I now see the updated source package for Windows on the actual download page again. Though the public FTP only lists v5.0.32 and its been a week.

There also seems to be lots of confusion and double-speak going around. Particularly MySQL claiming that this is all just a big misunderstanding, and they really do intend to provide win32 MySQL Community Server binaries… Just not until v5.0.35, or something, is released.

More info here…
MySQL 5.0.33 Community Server released

Too bad MySQL v5.0+ releases will not build with VC++ 6.0 out of the box. I suppose I might have to start using VS.NET 7.1 Express for some builds.

We are on SourceForge!

http://sourceforge.net/projects/webdeveloper

I encourage anyone and everyone capable, to join in the process of moving the project forward… Wherever that might go.

I’m looking for other developers to become part of the project. All work will be GPL’ed. You must be able to integrate and configure some subset of the current component base. All builds should be made with…

The components are built with VC++ 6.0, Service Pack 5, Processor Pack (MASM), and the Feb 2003 Platform SDK (the last ‘official’ VC6.0 PSDK). This is the same toolchain that ‘official’ release builds of Apache, MySQL, PHP, etc, are compiled under. VS.NET is avoided, to prevent mixing runtimes between major components, except for mod_aspdotnet builds.

Components that are already built with VC++ 6.0, such as Apache and PHP, we integrate as binaries — no need to build from source.

VS.NET 2002/2003 [and not 2005] is also needed to build mod_aspdotnet.

Developers skilled with ASP, Perl, and JSP [Tomcat] that can install, integrate, configure mod_aspdotnet, perl, mod_perl, perl-modules, and Tomcat/mod_jk are needed.

C/C++ developers for the Web-Developer Controller are needed.

If anyone wants to maintain a VS.NET build, you are needed.

If you can work on documentation and know the difference between things such as “its” and “it’s”, you are needed.

I think the next release, v1.94, might be put out on SF. Though there are still some minor licensing issues to deal with.

Also, the Web-Developer Controller needs to be GPL’ed to be distributed with the project. I would just do it, but the code needs to be cleaned up significantly before I would want to show it to anyone. It might make it in into v1.94, or it might have to be distributed separately for the time being.

So if you think you have the right stuff, AFTER you see a release on SF, contact me at admin @ devside.net. Right now there is too much to do and the future is always uncertain.

If you are skilled in C/C++, and can handle a few thousand lines if poorly written win32 api code spread across header files with some crazy looking stuff, you may contact me anytime you wish and take a great burden of my shoulders. Be warned though, you may never be the same. Ever see anyone duplicate all the handles on the system for no good reason?

Maybe thats a good thing though, about the code I mean… No one will be able to integrate it into another WAMP distro, GPL or not.

2007, The Year That Linux Takes Over the Desktop — since 2001

As far as I’m concerned, Linux has one single problem. This problem is a major one, and is almost unsolvable. It has kept the above statement from coming true every year that it has been made. Those that understand, keep quite. Those that don’t, work on the next great featureset to bring Linux to the desktop. What is that problem? Device driver support.

Windows is the path of least resistance for the end-user. It is the primary platform for hardware vendors. Everything is supported.

On the Linux side, things are a bit more difficult. Drivers have to be open-source, or distributed as binaries and installed by the user. That is, if they even exist in the first place. And if they do, they might not work too well.

Now this in of itself is not the problem, but rather what needs to happen to solve this issue and bring Linux to the desktop, without serious ideological compromises…

The majority of vendors will never release drivers under an open-source, GPL like, license. There are too many IP issues.

A driver is rarely written by, or contains the IP [Intellectual Property] of, only one company. Many parties are involved in the process, recursively. Contracts are signed.

A company simply cannot open-source a driver without getting sued. Even if all the contract and IP issues are resolved, a company knows that someone else might find that code, or method used, to be very similar to something proprietary… Paving the way for major lawsuits.

Microsoft knows this, and will do anything and everything to prevent the solution to the Linux driver issue. Not that they really need to, as we live in a capitalist society and patents and IP will not be going away anytime soon. And it’s too late for a unified, non-proprietary hardware initiative. It would never catch up with current offerings.

In my opinion, while Linux will gain ground every year, it will never [as in the next 7-10 years] catch up to the market share of Windows. Without a solid driver base, Linux is only good for specific tasks — none of which involve the average end-user. And if you look at what some of the top Linux people have said, you might see they realize the truth and are moving forward, while others are stuck in place.

TWiT Podcast

I can’t say I ever got into listening to podcasts, but this is a good one for any old fans of TechTV [before G4] with Leo Laporte…
“this WEEK in TECH”