On my personal and non-critical sites, I frequently swap between CMS setups, forums, etc. That can become a serious problem if you install everything at your site root. If, instead, each of these packages is inside it's own "sandbox" and a directional script at the site root points to the bit of software you want. This way, people visiting your domain can just keep linking to your domain and it will all "just work".
For instance, on this site, the WordPress blog is what I'm currently powering the site with. It sits at http://www.wynia.org/wordpress. If I should decide to install Drupal instead or even just to give it a try for a couple of weeks, I can install that at http://www.wynia.org/drupal. If the Drupal installation is just for testing purposes, it will just sit there, unaccessed, unless you know the URL. If you want it to actually be secure, I recommend throwing an .htaccess file with basic or digest authentication in the directory on top of whatever user management the script has.
Once you're ready to make the switch over to the new engine, you change (or if this is the first time, create) the index.php file in your site root. On this site, that's http://www.wynia.org/index.php. What goes in there is nothing other than:
< ?php
header("Location: /drupal");
?>
That little script becomes your "doorman" of sorts, directing unspecified traffic to the appropriate script. Of course, you could make it a little smarter and have it route to 2 different scripts for different browsers or if it's an internal IP address, or if a particular cookie is set, etc.
In short, the structure leaves your site root entirely uncluttered, scripts can be blown away with no extra work beyond dumping the database tables and deleting the directory. This strategy also works for radical upgrades, letting you run the new version in parallel, just renaming the directories or changing the doorman when it's time to switch over. It's really a smaller version of the dev->test->staging->production cycle of servers/sites that most Fortune 500 web projects go through and eliminates doing things like accidentally screwing up your live site.
Posted in General, Other Programming, PHP | No Comments »
I bought this thing a while back on impulse during a great sale. However, my theater just isn't long enough to get the screen size as big as I want (I want it REALLY big, like 10ft wide, much bigger than my 52" HDTV). It works great, only has 2 hours on the bulb that's rated for 4000 hours, all the cables, etc. If you are looking for a more modest image size or have more than 10 ft to work with, this thing is great.
Buy Infocus 4800 projector from Amazon.com
Posted in General | 2 Comments »
I'll freely admit that this is really just my personal opinion. However, it's one of those things that I just can't seem to reconcile. All of the tech pundits seem to be going on and on about how "wireless is the future". Yet, trying to cram all of the flying bits of data into the 2.4Ghz spectrum and believing it's going to work is naive.
1. Just take a look at the 900Mhz band and see what a mess it can become when there is real market penetration of wireless technologies. This saturation has led to cordless phones climbing the spectrum looking for uncluttered space. 900Mhz, 2.4Ghz and now 5.8Ghz have all been on the cordless phone path to clear calls.
2. Interference is already causing serious degradation. If you've used a wireless hotspot in a really popular area, you've seen what having a bunch of traffic can do to expose the collisions.
3. Microwaves, bluetooth, phones, etc. all have just nasty effects on bandwidth and connections overall.
4. Speed. As data needs grow, people keep wanting to send REALLY big stuff over networks. There's pretty much always going to be an advantage to a dedicated, non-interfered-with path for that data.
There's probably more, but the "wireless future" just seems to remind me of the "paperless office" and I suspect that this parallel will prove true going forward.
Posted in General, Personal | No Comments »
I'm back online and digging through all of the email since Thursday. Turns out someone other than Qwest/Covad physically cut the line. Really makes me wish that high-speed/high-bandwidth wireless was more than a pipedream (more on this particular rant later).
Posted in General, Personal | No Comments »
I've been working with some folks in the Czech Republic who have a working .NET compiler for PHP. It's some pretty cool stuff. You can now compile a PHP script into a REAL exe or dll that can be used in .NET projects. It doesn't work the other way yet (using .NET assemblies/DLL's in your PHP, so no WinForms yet), but it's probably only a matter of time for the dotnet extension that already exists to mature. What I've been working with them on is integrating PHP into SharpDevelop, giving us a complete environment for making these kinds of things. I've been working through the caveats and wanted to have a pretty good working knowledge of it before I mentioned it and I'm pretty close.
I'm almost done putting together an article for setting up your entire environment for making PHP.NET DLL's and EXE's. I'll give more details when that's done.
Posted in General, PHP | 3 Comments »