FireFox 3.6 whoas

January 22nd, 2010

Well I was excited to kick the wheels on the newly released Mozilla Firefox 3.6 (here). So I downloaded the new installer and ran on my work PC. Everything went smoothly until I got to the importer, then Firefox become completely non-responsive and ended up having to use task manager to close it. I captured a screen cast of this crazy behavior because it was so annoying, you can see it here (opens in new window).

Aside from this hiccup everything is running pretty smoothly. Firebug has an update that allows it to run in 3.6. Unfortunately ySlow does not yet run on 3.6.

I like the new personas (I know they’ve been around for a bit) as they do add a little character to your browser. I think that I might even make one in the not to distant future.

The JavaScript engine does appear to be a bit quicker though no too noticeably. I have been working on a large JavaScript application here at work and it is performing a bit better in 3.6 than in 3.5.x but Google Chrome is still the quickest from my experience.

I am not much of a plugin guy in Firefox so if you have had experience with 3.6 yourself and there are certain addons or pluggins you like I would love to hear about them!

Related Posts:

  • No Related Posts

My favorite web host!

December 14th, 2009

If you are anything like me you like to know that you are getting most out of your money when investing in a web host. You want near 100% uptime, great transfer rates, flexible back-end management and tons of scripts. I am glad to say that I was lucky to have come across Blue Host a few years back.

As an independent web designer for the past 7 years I’ve come across lots of web hosts. Some have been good experiences others have been horrible experiences, but most are simply middle of the road. Blue Host I must has one of the most comprehensive packages I’ve ever used. They use cPanel for the back-end management with lots of features and goodies packed in. They provide one of the largest bandwidth packages I’ve ever used and all for under $8 a month!

Some of the features include 400 GB monthly bandwidth with unlimited disk space. My account typically is between 6 and 10 GB on disc! They also have all kinds of promotional gifts such as $50 in AdWords, $25 at Yahoo! search and up to $50 matched at ask.com. Along with up to 2500 email accounts they have spam assassin and an upgrade to postini.

The best part is this isn’t even the tip of the iceberg with Blue Host! You get 1 free domain registration with private registration for the life of your account. They have power script suite such Fantastico De Luxe and my favorite Simple Scripts. I think my favorite part though has been the near flawless delivery of their network. In over 5 years using Blue Host I can count on one hand the times my sites have been offline.

Other features include:

Host UNLIMITED Domains (WOW!)
Free Drag and Drop Site Builder (NEW!)
Support International Domain Names
POP3/POP3 Secure Email Support 2,500
IMAP/Secure IMAP Email Support 2,500
3 Different Web Based Email Solutions
Forwarding Email Accounts Unlimited
Email Autoresponder Unlimited
400 Gigs of Site Transfer (NOW MORE!) Unlimited
Add-on Domains Unlimited
Parked Domains Unlimited
Subdomains Unlimited
Additional FTP Accounts 1,000
MySQL Databases 100
PostgreSQL Databases 100
CGI-BIN
CGI Library
Server Side Includes
Frontpage 2000/2002 Extensions
Account “Control Panel”
FTP Access
Shell Access (SSH)
Override .htaccess Support
Anonymous FTP
Webmail (Browser Based Email)
Log Files + Site Stats
Customizable Error Pages
Web File Manager
Custom Cronjobs
Hotlink Protection
  • Host UNLIMITED Domains (WOW!)
  • Free Drag and Drop Site Builder (NEW!)
  • Support International Domain Names
  • POP3/POP3 Secure Email Support (2,500 )
  • IMAP/Secure IMAP Email Support (2,500)
  • 3 Different Web Based Email Solutions
  • Forwarding Email Accounts (Unlimited)
  • Email Autoresponder (Unlimited)
  • Gigs of Site Transfer (NOW MORE!) (Unlimited)
  • Add-on Domains (Unlimited)
  • Parked Domains (Unlimited)
  • Subdomains (Unlimited)
  • Additional FTP Accounts (1,000)
  • MySQL Databases (100)
  • PostgreSQL Databases (100)
  • CGI-BIN
  • CGI Library
  • Server Side Includes
  • Frontpage 2000/2002 Extensions
  • Account “Control Panel”
  • FTP Access
  • Shell Access (SSH)
  • Override .htaccess Support
  • Anonymous FTP
  • Webmail (Browser Based Email)
  • Log Files + Site Stats
  • Customizable Error Pages
  • Web File Manager
  • Custom Cronjobs
  • Hotlink Protection

and much more!

So if you are in the market for web host that has it all or are always looking for a better bang for your buck I recommend that you give Blue Host a try! I think you’ll be very pleased with their product.

Related Posts:

Integrating BBClone into Joomla!

December 10th, 2009
IP address,
hostname,
operating system,
robots,
browser,
referring URL (where do they come from),
visit date,
number of time the visitor has loaded the page,
number of visitor
the visited pages in the order someone viewed them
the last visited page
the search engine query that lead to your site (if applicable)
ranking of the most frequent countries, referrers, OS, browsers, robots, page views and hostnames

BBClone is a great website statistics application that provides great insight into how visitors access and navigate your website. BBClone provides many useful statistics including:

  • Visitor IP address
  • hostnames
  • operating systems
  • robot visits
  • browsers
  • referring URL (where do they come from)
  • visit date
  • number of times a visitor has loaded each page
  • number of visitors
  • the visited pages in the order someone viewed them (bread crumbs)
  • the last visited page
  • the search engine query that lead to your site (if applicable)
  • ranking of the most frequent countries, referrers, OS, browsers, robots, page views and hostnames

As you can see this application can provide you with invaluable information. Unfortunately for Joomla! users the component that was released to the Joomla! Extensions directory was removed because it did not work with Joomla! 1.5.x. Luckily for any developer with a bit of familiarity with PHP and the installation/organisation of Joomla! 1.5.x a simple core hack can give you the statistics you want from your website.

Software & equipment needed

Installing BBClone

The first thing that we must do before integrating BBClone is to install it. This is quite simple to do and only takes these short steps.

  1. Download the latest package from the BBClone website (click here)
  2. Log into your website’s root via FTP
  3. Create a subdirectory in the root with a meaningful name. BBClone recommends using bbclone, but I recommend something else as there is no password protection on the application. We’ll use “webstats” for this example.
  4. Upload all the files into the newly created subdirectory “webstats”.

Thats it!

Integrate BBClone

As mentioned above to integrate BBClone with Joomla! 1.5.x you have to perform a core hack. The hack is simple and pretty much non-intrusive. In your Joomla! install directory download the index.php file (not your templates root) and make a backup of it.

Next open the index.php file in your favorite PHP editor and add the following lines at the bottom of the page.

/**
* BBClone statistics
*/
$juri = JURI::getInstance(); // get jURI instance to get SEF path
$uri = substr($juri->getPath(),1);
$uri = $uri == "" ? "index.html" : $uri;
// Extract the URI file part
defined("_BBC_PAGE_NAME") ? _BBC_PAGE_NAME : define("_BBC_PAGE_NAME", $uri);
define("_BBCLONE_DIR", JPATH_BASE . '/webstats/');
define("COUNTER", _BBCLONE_DIR. "mark_page.php");
if(is_readable(COUNTER))
{
   include_once(COUNTER);
}

I personally like using the file name as my page describer, but this requires you to have Joomla! configured to generate such URL’s. As an alternative you can use the page title to uniquely identify your pages. To do so simply replace:

defined("_BBC_PAGE_NAME") ? _BBC_PAGE_NAME : define("_BBC_PAGE_NAME", $uri);

with

defined("_BBC_PAGE_NAME") ? _BBC_PAGE_NAME : define("_BBC_PAGE_NAME", $mainframe->getPageTitle());
// alternative to do the same as above
//$document =& JFactory::getDocument();
//define("_BBC_PAGE_NAME", $document->getTitle());

Validate your installation

Last thing we want to do is to verify that your installation is now functional. To do so point your favorite web browser at http://yoursite/webstats/ and voila you have a functional installation! If you are not seeing anything you may want to verify that you’re attempting to access the correct path you uploaded the BBClone files to.

The End

Reference BBClone’s website for details on configuring the application. Additionally I recommend you read about configuring Joomla! 1.5.x to produce SEF (Search Engine Friendly) URL’s.

If you have followed these basic steps you should soon begin to see statistics appear in your BBClone installation.

Hopefully this was helpful!

Related Posts:

WIA and 64-bit Vista Whoas

October 16th, 2009

So I’ve been working on a tether program for my Nikon D40x. My current development platform is 32-bit Vista, but my target machine is a 64-bit Vista machine. So today I’ve finally got everything working on my development machine and migrate it to my target machine. Everything seems fine under normal test cases until I go to exercise a couple of key events used to detect if the camera is available or not. Well they are not firing as they do under 32-bit Vista.

Has anyone ran into this themselves, and if so have you found a workaround yet? Any input would be greatly appreciated.

Related Posts:

  • No Related Posts

Using C# and WIA 2.0 to connect to an imaging device

August 28th, 2009

Welcome, in this article I am going to how to get your project setup to use WIA, how successfully connect to an image device and finally how to enumerate all the properties and events the device supports. While this article will only touch the surface of what all you can do with WIA subsequent articles will continue to delve deeper into WIA’s full capabilities.

Shall we get started?

Software & equipment needed

Getting Setup

Create a new Windows Forms Application and name it whatever you’d like, I named mine WIAIntroduction.

new-proj

Next add a label, command button and rich textbox control to Form1 (note:  I am leaving all controls at their default names for simplicity).

wiaaut-referenceNext we need to add a reference to the WIA library (wiaaut.dll). To this go to the Project->Add Reference menu. In the dialog box select the COM tab and navigate to Microsoft Windows Image Acquisition Library v2.0. If you do not see this make sure that you’ve installed the WIA Automation Component referenced above under Software & equipment needed.

I recommend ensuring that under the reference properties that Copy Local is set true. This will make a copy of the reference library in the root of the application (i.e. bin/release/).

With the reference to the WIA 2.0 library and our form and its controls setup we’re ready to begin communicating with any device with a WIA compliant driver.

Connecting to a Imaging Device with WIA 2.0

Now let’s get to the good stuff and make this application do something other than sit there.

First we need to add a using directive for the WIA library we just added a reference to so that we may begin to access the objects and methods it exposes.

using WIA;

Next create a private variable of the newly exposed type Device named _device.

Now we need to create a click event handler for button1. The code should look something like this.

private void button1_Click(object sender, EventArgs e){try{// create a new WIA common dialog box for the user to select a device fromCommonDialogClass dlg = new CommonDialogClass();// show user the WIA device dialogDevice d = dlg.ShowSelectDevice(WiaDeviceType.CameraDeviceType, true, false);// check if a device was selectedif (d != null){_device = d;}else{_device = null;}}catch(Exception ex){MessageBox.Show(ex.Message, "Error!",MessageBoxButtons.OK, MessageBoxIcon.Error);}}

Executing the code now and click on the button should produce a dialog box containing on all WIA devices registered on your PC.

Closing thoughts

In this article we learned how to quickly connect to any imaging device using Windows® Image Acquisition Automation Component.  In my next article I’ll discuss how to enumerate all the WIA properties and events that a device supports, until then happy coding.

fun=coding

 

Article source code:
EnumerateWIAProperties.rar

Related Posts:

  • No Related Posts

Let the journey begin…

August 25th, 2009

This is my first personal blog related to my coding endeavors. I thought I would put this up after spending many hours trying to find information on communicating with my Nikon camera through C# and the .NET platform.

After many hours of sorting through cryptic MSDN documentation and vague partial blogs and personal pages I thought that I would begin to document my findings as I continue to build out a full fledge camera tether with C# and WIA. This is my way of giving a little back to the online community from which I have used a lot over the years.

Hopefully those of you that find this blog will find the information useful and complete enough to get you going on whatever your project is.

Happy coding!
Mike

Related Posts: