The Integration of Firefox 3.7+ and Windows 7

Last night, I took a chance and downloaded the nightly build of Firefox 3.7 Alpha 4 Preview.  I was impressed with the UI enhancements, and also with what was under the hood.  Please know that this version is not recommended for daily use, but only for previewing the new features, as there are still many bugs that need to be worked out.


Jump Lists


DirectWrite hardware acceleration is not enabled out of the box at this point in the release process, but can be enabled by navigating to about:config, and changing the gfx.font_rendering.directwrite.enabled setting to true.

Aero Glass

I don’t have a screenshot for this, but you can see an example of Aero Glass above.  Apparently, the glass-like effect provided by Windows Aero was turned off in the latest builds due to a few bugs, but to my knowledge, future versions of Firefox will support Aero-based themes.

Projected release date for Firefox 3.7: May/June 2010
Projected release date for Firefox 4.0: October/November 2010, early 2011?

As far as I’m concerned, the sooner they release these new features, the better.  These features represent major productivity enhancements, and I want to use them!

Using Gmail for Spiceworks’ Help Desk

Spiceworks LogoIn case you haven’t heard, Spiceworks is a free “network management & monitoring, help desk, PC inventory & software reporting solution to manage everything IT.”  I must admin, I was skeptical at first, but I ending up being very impressed with this software.  The only downside I’ve found so far is the presence of ads within the software; however, you’ll soon see it is still well worth it.  This software also requires Windows XP or higher, and will not run on Linux.  On the other hand, Spiceworks will detect and properly monitor any Linux-based PC on the network.  Below are some of the advantages of using Spiceworks:

  • 100% free
  • Can be used as portal, and help desk (includes full ticketing system)
  • Works with Active Directory
  • Will monitor software, DNS settings, disk space, etc., on all computers within network
  • Network map
  • Will monitor ink and toner levels in compatible printers/copiers
  • E-mail alerts can be configured to send in the event printer ink dips below a certain threshold
  • Compatible with Windows Server 2008 R2
  • …and much more!

Now, onto configuring Spiceworks to work with Gmail:

Within Gmail settings, make sure that IMAP is enabled.

Login to your Spiceworks installation.

Continue reading Using Gmail for Spiceworks’ Help Desk

What is a webjawn?

We are giving in… after many inquiries into this so-called “webjawn,” we’ve decided to give up the state secret.  To understand this word, we must explore its origins.  On the streets of my hometown (Philly), a jawn is anything.  It can be a dime, an ink blot, a VGA-to-DVI adapter, or that little shiny thing on the ground that you think might be worth something until you pick it up, and realize it’s not quite what you originally thought.  Google has a few, more formal definitions listed as well:

Now that we’ve gotten the etymology out of the way, we can begin the fusion between the web and it’s jawns until we get the desired result – a whole lotta webjawns.  Now that the enigma has been dissipated, people will sleep soundly, birds will flock, worker bees will work, and we’ll develop web applications and brand new webjawns.

Zend Framework 2.0 Buzz

Zend Framework logoThe buzz behind Zend Framework 2.0 is growing rapidly everyday, and not without good reason.  Zend Framework 2.0 will utilize the very best of PHP to create a more stable, secure, and better performing framework.  Although nothing is set in stone, listed below are some of the highlights so far:

  • Minimum version:  PHP 5.3+
  • Not backwards compatible
  • Improved consistence between componenets
    • __construct() – Constructors will accept options via arrays or Zend_Config
    • Option keys will not use camel caps or uppercase, but instead will utilize lowercase underscore-separated words
  • Elimination of most singletons
  • Utilization of PHP 5.3 features
    • __invoke() and closures – for use within plugin architecture
    • Namespaces – to help with the super-long class names (Zend_Search_Lucene_Analysis_Analyzer_Common_TextNum_CaseInsensitive comes to mind)
    • goto – to be used when creating Finite State Machines (FSM) and parsers (Zend_Search_Lucene, Zend_Ical, Zend_Markup)
  • Autoload-only for all ZF components
  • Zend_View
    • Allow optional use of streams for systems where short_open_tags are disabled
    • Automatic escaping of variables
    • Use PluginLoader instead of internal system for managing plugins

There’s a lot of great discussion going on within the official Zend Framework 2.0 Roadmap, as well as a general outline on Zend’s plans, so get over there and read up!


Stability, security-focused PHP 5.2.13 released today

PHP 5.2.13 was released today, fixing over 40 bugs.  PHP recommends that all users on the 5.2 branch upgrade as soon as possible.  Included below are various bugs fixed in this release, and links to the official changelog, release announcement, and download page.

  • Improved LCG entropy (security)
  • Fixed safe_mode validation inside tempnam() when… (security)
  • Fixed open_basedir/safe_mode bypass in session extension (security)
  • Upgraded to PCRE 7.9
  • Fixed strip_tags() bug that removed parameters over 1023 bytes even when in exclude list
  • Regarding define() and defined()
    • :: was allowed to be included within constant name using define(), issuing a fatal error vs. E_WARNING
    • defined() no longer requires a class to exist when testing class constant
  • PHP 5.2.13 Changelog
  • PHP 5.2.13 Release Announcement
  • Download PHP 5.2.13

TPC! Memory Usage: Honorable Mentions

I’m proud to say that TPC! Memory Usage for WordPress has been adopted by a lot of WordPress administrators out there, and initial reviews have been great.  Today, I found a few articles that TPC! users may find useful and interesting, including one which benchmarks popular WordPress plugins.

If we missed an article, please let us know so we can post it.  Thank you to everyone for your continued support!

Tips for reducing repetitive stress injuries as a programmer

Workrave screenshot
Workrave screenshot

RSIs, or repetitive stress injuries, can spell doomsday for a programmer or web developer.  It’s what many of us fear the most; after all, it’s our life’s work, our passion, our love.  I think it is safe to say that pretty much every programmer has felt wrist pain at one time or another.  Many times, it goes ignored, which only worsens the problem.  There is a lot of research in this area, and as a result there are many preventative measures that can be taken to prevent RSIs. Continue reading Tips for reducing repetitive stress injuries as a programmer

Optimize PHP, Apache & MySQL for performance

Two MySQL tuner scripts

MySQLTuner (Perl) and MySQL Performance Tuning Primer (Shell) are two scripts that can help diagnose MySQL database performance issues, and provide recommendations on how to solve them.  While both scripts output similar information, the diagnosis can be slightly different with each script, so I like to use both.  Below are directions on how to use them, as well as a few screenshots.

# Download MySQLTuner and MySQL Performance Tuning Primer to ~/scripts.
# To avoid having to invoke Perl/SH each time, make both files executable.
chmod +x ~/scripts/
chmod +x ~/scripts/

# After that, give them a go!

Continue reading Optimize PHP, Apache & MySQL for performance

Major improvements in TPC! Memory Usage for WordPress

Over the past few weeks, I’ve been actively developing some long-awaited TPC! Memory Usage features.  The highlights of the latest release are listed below.  I believe that these will help WordPress developers and administrators improve scalability and performance of their blogs and custom applications.

  • Custom checkpoints allow administrators to measure memory usage anywhere a WordPress action is available.
  • Optional file logging allows administrators to have an effective way of tracking memory usage.
  • Improved Security Check, and listed additional variables in System Overview.
  • Fixed various bugs (special thanks to those who have taken the time to report issues).

As we continue to improve TPC! Memory Usage and implement new features, we would love to hear your thoughts.  Feel free to leave a message on the official TPC! Memory Usage page.  As always, thank you for your continued support.

Download TPC! Memory Usage

PHP 5.3.1 now available in WHM/cPanel’s EasyApache

After much patience and persistence on the part of myself and many other individuals, we now have PHP 5.3.x support in EasyApache, starting with PHP 5.3.1.  For those of you who may be unaware, EasyApache is WHM/cPanel’s tool for creating custom compilations of Apache and PHP.  This solves many problems for those who have been doing this “behind the scenes,” as well as those who wish to utilize some of the great new features implemented in the 5.3 series.  PHP 5.3.1 introduces namespaces, late static binding, decreased memory usage (YMMV), several new extensions, and improved MySQL support.  Be sure to check your scripts for compatibility before going live with PHP 5.3.1 on a production server.  Some scripts will be affected by some of the changes, so testing is extremely important.