Compaction Unlimited, LLC

Compaction Unlimited is a distributor for some of the world’s most dependable and highly respected waste & recycling equipment manufacturers. Technologies Used XHTML CSS WordPress PHP JQuery JavaScript Live Site www.compactionunlimited.com... Read More

View Next Project View Complete Portfolio

Quiltcraft Industries, Inc.

Quiltcraft Industries is a leader in textile manufacturing for the Healthcare, Hospitality and Commercial industries. Based in Dallas, TX, Quiltcraft commissioned an overhaul of their existing website in order to project the same professional, successful image onli... Read More

View Next Project View Complete Portfolio

Mallick Tower Fort Worth

Mallick Tower is an iconic part of the Fort Worth skyline, featuring striking architectural detail and a rooftop helipad.  The website, commissioned by the building owners and leasing team, features a clean layout designed to provide easy to consume information fo... Read More

View Next Project View Complete Portfolio

Kestrel Resources, Inc.

Kestrel Resources, Inc. is a Dallas based oil and gas asset management firm.  This project was a website redesign with the goal of improving their Google Page Rank score as well as incorporating a more modern design for their customers and visitors. Technologie... Read More

View Next Project View Complete Portfolio

The Core Group

The Core Group is a Dallas based structural engineering firm specializing in the design and construction of amusement and water park slides and rides.  The website features a custom design, fully w3C compliant code, and an extensive JQuery-driven portfolio with he... Read More

View Next Project View Complete Portfolio

ADAM Energy Forum

The ADAM Energy Forum is a Dallas based organization bringing members of the energy exploration and investment industry together.  The website is built on the Wordpress framework to allow ADAM Energy Forum personnel to manage their own content.  The site features... Read More

View Next Project View Complete Portfolio

Providence Energy Corporation

Providence Energy Corporation is an oil and gas acquisitions company based in Dallas, Texas.  The website is a custom design featuring a Flash header with a Ken Burns style animation and an embedded RSS reader providing industry-specific content to site visitors. ... Read More

View Next Project View Complete Portfolio

The PKU Foundation

The PKU Foundation website is a template based site built for Dallas based non profit organization The PKU Foundation.  The main goals when creating this website were: Make it easy to collect and process online donations. Make it easy for visitors affected ... Read More

View Next Project View Complete Portfolio

Fairway Technology

The Fairway Technology website is a simple, one page template based site built for Dallas based IT Support vendor Fairway Technology.  The site is design to be a simple e-flyer, advertising professional services and providing contact information to potential clien... Read More

View Next Project View Complete Portfolio

Frontier Equity

Frontier Equity is a simple, informational website built for Dallas based Frontier Equity, a division of commercial real estate firm Holt Lunsford Commercial.  It feature a clean, modern design and takes its design cues from existing marketing collateral.  The si... Read More

View Next Project View Complete Portfolio

Latest happenings from my blog

View All Posts In My Blog »


Jupiter Chevrolet: How not to sell a car

0 Comments

This is the chat log I had today with Francisco Oguntosin at Jupiter Chevrolet in Garland, Texas. Take notes kids, this is the way to lose a customer and wind up on the internet.

Jupiter Chevrolet Inc : Thank you for choosing Jupiter Chevrolet Inc !
System: We have alerted the online representatives that you are waiting. Someone should be with you momentarily.
System: A representative has joined the conversation. Compose your message below and then click Send.
Francis Oguntosin : Hello, How may I help you?
You: Hi there. I’ve sent a couple emails today about your Chevy Cruze inventory
You: I’m about ready to make a decision and purchase today and there are a lot of competitive offers.
Francis Oguntosin : great
You: Can you get me out the door for $14,500 on the silver 2011 LT?
Francis Oguntosin : best deal is $14.600 plus TTL
You: OK. I’ve already got that deal with only 8k miles on it from another dealer
Francis Oguntosin : are you still there
You: yes. on the phone with another dealer
Francis Oguntosin : this is an LT
You: yes
Francis Oguntosin : that is a great price for $14,900
You: It is. I assume you are talking about Autohause listing, but I’m talking with a different dealer who is competitive with your offer, has lower miles and is dealer certified
Francis Oguntosin : we do have a life time warranty (powertrain warranty)
You: Yeah, I’m going to have to go take a look at those other two cars unless you can do something for me to get the price down or find some upgrades or something.
Francis Oguntosin : i can asure we are not going to miss your business.
You: I don’t imagine that you will. That’s a pretty poor attitude to have with a potential customer, especially when you’re doing it in writing.
You: If you haven’t heard of Ocean Marketing, you might want to Google it. It’s a cautionary tale of another customer service rep who shot his mouth off on the internet


Haystack: an IndexTank client for CodeIgniter 2.0+

0 Comments

IndexTank is a hosted search solution used by some of the largest sites on the web such as Reddit, Twitvid and ZenCoder. It offers some cool features such as Geolocation, fuzzy search, autocomplete, “Did you mean” spelling correction, stemming and most importantly, real-time indexing.

It’s a pretty cool service, and did I mention that it’s free to index up to 100,000 documents?

The only problem is that there wasn’t a PHP client available for the CodeIgniter framework, until now.

Haystack is a PHP client offering basic interaction with the IndexTank API, implemented as a CodeIgniter library. It is very much a work in progress, and as I wrote it primarily for use in my current project, it is not as general as it could be. I will be maintaining the library on Github and will continue to add new functionality and improvements as time allows.

You can download the library from my Github repository.

Basic Usage

Selec All Code:
class Search extends CI_Controller
{
     $this->load->library('Haystack');
 
     // Create a new index
     $this->haystack->create_index('cars');
 
     // Set the index to work with for the next one or more IndexTank API calls
     $this->haystack->set_index('cars');
 
 
     // Add a single document to the currently selected index
     $docid = 1;
     $fields = array(
          'text' => 'The Chevrolet Impala is a full-size automobile built by the Chevrolet division of General Motors introduced for the 1958 model year.',
     );
 
     $this->haystack->add_document($docid, $fields);
 
 
     // Add multiple documents to the currently selected index
     $docs = array(
          array(
               'docid' => 1,
               'fields' => array(
                    'text' => 'The Chevrolet Impala is a full-size automobile built by the Chevrolet division of General Motors introduced for the 1958 model year.'
               )
          ),
          array(
               'docid' => 2,
               'fields' => array(
                    'text' => 'The Ford GT is a mid-engine two-seater sports car. Ford Motor Company produced the Ford GT for the 2005 to 2006 model years. The designers drew inspiration from Ford\'s GT40 race cars of the 1960s.'
               )
          )
     );
 
     $this->haystack->add_documents($docs);
 
 
     // Delete a single document from the currently selected index
     $this->haystack->delete_document(1);
 
 
     // Delete multiple documents from the currently selected index
     $docids = array(1, 2, 3, 10);
     $this->haystack->delete_documents($docids);
 
 
     // Select a different search index to work with and add a new document
     $this->haystack->set_index('trucks');
     $docid = 12;
     $fields = array(
          'text' => 'Bigfoot, introduced in 1979, is regarded as the original monster truck. Other trucks with the name "Bigfoot" have been introduced in the years since, and it remains the most well-known monster truck moniker in the United States.'
     );
 
     $this->haystack->add_document($docid, $fields);
 
 
     // Delete an entire search index and all of its documents
     $this->haystack->delete_index('vans');
 
 
     // Search in the currently selected index
     $terms = "monster truck";
     $results = $this->haystack->search($terms);
 
     if($results->matches == 0)
     {
          // No results found
     }
     else
     {
          // Results found. Loop through them and print the id.
          foreach($results->results as $doc)
          {
               echo "Found document {$doc->docid}<br />";
          }
     }
}

View the SQL code of a Stored Procedure in SQL Server Management Studio

0 Comments

I’m working on overhauling a large project management application for a client that I inherited from a previous developer.  Part of the application will produce various reports based on data pulled from a SQL Server database.  The query that pulls this data is a Stored Procedure in the database. Rather than try to reverse engineer the SQL query, I can simply run a SQL query of my own to dump the SQL code from the Stored Procedure so I can incorporate it into my application.

Just log into SQL Server Management Studio, open the database where the Stored Procedure resides, and execute the following query:

sp_helptext ‘dbo.stored_procedure_name_here’


Exchange 2007 Dynamic Distribution Groups with Custom Filters

0 Comments

Recently I was experimenting with Exchange 2007 Dynamic Distribution Groups for a client.  I have the Active Directory profiles of each mailbox-enabled user filled out so that I can dynamically create and set their Outlook profiles automatically.  I wanted to use some of this information that I already store about each user to create distribution groups on the fly so that I don’t have to actively maintain group membership.

Specifically, I wanted to use the Office and Description field of their Active Directory profile to include them in a distribution group.  For instance, I have the following basic information stored in Active Directory for each user:

User A
Description: Dallas User
Office: Corporate Office

User B
Description: Dallas User
Office:
North Dallas Field Office

User C
Description: Houston User
Office: Houston Office

If I want to maintain distribution groups in Exchange for each geographical area as well as each individual office, that is pretty easy in Exchange 2007.  You just create a new Dynamic Distribution Group.  However, the difficulty comes when you want to use an Active Directory profile field that is not built in the Exchange Management Console GUI.

Executing the following command in the Exchange Management Shell will create a new Dynamic Distribution Group that selects every mailbox-enabled user with a Description field set to “Dallas User”:

New-DynamicDistributionGroup -Name “GroupNameHere” -OrganizationalUnit “domain.local/OUNameHere” -RecipientFilter { ((RecipientType -eq ‘UserMailbox’) -or (RecipientType -eq ‘MailContact’) -or (RecipientType -eq ‘Contact)) -and (Description -eq ‘Dallas User’) }


Backup Windows SharePoint Services 3 using command line utilities

1 Comment

I recently had a SharePoint server in a RAID 1 configuration lose one of its hard drives.  Since the server was approaching it’s hard drive storage limitations anyway, I decided to install 2 new larger drives rather than rebuild the current array.  An added benefit of this approach is that I can archive the drive we’re using now and have a fairly failsafe recovery point.

The following steps outline how to use the Stsadm.exe utility to backup a Windows SharePoint Services 3 installation.  This tutorial assumes you will be logged onto the SharePoint server when you run this command, and that your SharePoint site is set as the default website in IIS.

Step 1:  Open a comman prompt and find Stsadm.exe
There is a chance that this location is already part of your PATH variable, but if not you will find Stsadm.exe at:

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\BIN

Step 2: Run the Stsadm.exe utility with parameters

stsadm -o backup -url http://localhost -filename mybackup.bak