Google AdWords

| No Comments | No TrackBacks
AdWords
Image representing Google as depicted in Crunc...

Image via CrunchBase

The Google AdWords            Cheat Sheet
Gen Setup Instructions.

1. Use either "Search Network" for Normal placement of AdWords or "Display Network" for Managed placement of AdWords. Display Netwok has two different types of placement. They are as follows:

  • Automatic placements    
  • Placements in the Display Network that Google finds for you based on cues (such as keywords) in your ad group. Your ads can run on automatic placements if you select, "Relevant pages across the entire network" in the "Network Settings" section of your "Settings" tab. These settings are at the campaign level.
  • Add keywords to each ad group that you want to run on automatic placements
      B.  Managed placements - There are a couple of reasons you may want to add managed placements to an ad group:
  Placement restriction - You've opted to run ads on the Display Network but only on "Relevant pages only on the placements I manage." This is a network settings option on the "Settings" tab at the campaign level. With this option, your ads will only run on the sites listed under managed placements.
  Bid management: You're running ads across the entire Display Network, but you'd like to raise or lower bids for specific placements based on the performance of those websites. You can do this by adding them to your managed placements.
  For example, you may want to be more competitive for placement on a particular site to receive more traffic. You can add the site as a managed placement and simply raise your bid for that one placement.
  You may also see an automatic placement that you don't want to entirely exclude but that doesn't particularly interest you or generate a strong return on investment. You can add it as a managed placement and lower the bid for that website.
       2.  Usually use Search Network and select manual bidding on initial campaign setup.
       3.  Run at least (3) campaigns in each Ad Group.
       4.  Once you have four campaigns that are active, move them into the My Client Center (MCC).

Acronyms:

1. Clickthrough rate (CTR) - a way of measuring the success of an online advertising campaign. A CTR is obtained by dividing the "number of users who clicked on an ad" on a web page by the "number of times the ad was delivered" (impressions). For example, if a banner ad was delivered 100 times (impressions delivered) and 1 person clicked on it (clicks recorded), then the resulting CTR would be 1 percent.

2. Cost per click (CPC) - is the sum paid by an advertiser to search engines and other Internet publishers for a single click on their advertisement which directs one visitor to the advertiser's website

3. Cost per mille (CPM) - Rather than an absolute cost, CPM estimates the cost per 1000 views of the ad

Advice:

1. 1% click through rate (CTR) = successful keywords. This is a  BIG factor in quality score. Lots of impression and not a lot of clicks equals bad quality score. So always shoot for a 1% CTR!

2. An avg keyword position on pages between 2-6 is okay. 7 and below is not good. Raise CPC on keywords that are 3.1 and below if you really want that keyword. A real world example would be to increase bids by $0.75 on keywords that have a below keyword position of 3 and you were paying around $2 for. So a suggestion would be in this scenario to raise the bid to $2.75..

3. Reduce bids when a keyword that ordinarily doesn't perform well (low conversion words), but shows a high position. Pause this keyword if you don't think word is important.

4. In the Opportunities Tab: Use keyword tool, to come up with price Traffic estimator tool (over estimate by 50 cents if dollars. If cents double).

5. On a keyword that is presently number ranked number 1 and you are bidding 2 dollars and your only paying 80 cents per click, lower your bid. If your keyword is ranked number 3-5 then lower bid amount a little.


Enhanced by Zemanta

VirtualBox

| No Comments | No TrackBacks
Original source file of the

Image via Wikipedia

VirtualBox: access Windows-host shared folders from Ubuntu-guest

April 9th, 2008
This is the scenario that you run Windows as your host operating system and Ubuntu in a VirtualBox, and that you want to access a specific Windows folder from Ubuntu.

First you have to make sure that have install Guest Additions. From the VirtualBox's menu go to Devices → Install Guest Additions... This will mount a virtual CD on your /media/cdrom. Normally this folder's window will show up. As root run the program VBoxLinuxAdditions.run. When the program completes reboot your VirtualBox.

With Guest Additions installed you may now go ahead and define the shared folder(s). From the VirtualBox's menu go to Devices → Shared Folders. A dialog will show up. In this dialog you can specify which folder from your Windows system you want to share with your Ubuntu. Press the button with the + symbol to add a new shared folder in the list. You will have to specify a Folder Name for each folder you add. Make sure you memorize that name because you will need it very soon.

When done with you shared folder(s) specification, you may now go ahead and actually mount these folders from Ubuntu. First you have to create a mounpoint, that is, a directory in your Ubuntu which will reflect the shared folder from Windows:

# sudo mkdir /media/windows-share

Of course you may choose an alternative path for your mountpoint. With your mountpoint created you can now mount the shared folder, like this:

# sudo mount -t vboxsf folder-name /media/windows-share

Where folder-name will be the name you assigned for this folder when you were adding it in the shared folders list.

You could use the /etc/init.d/rc.local script to execute these commands on startup to have the shared folders automatically mounted every time you start your Ubuntu VirtualBox.

SOURCE:  http://www.giannistsakiris.com/index.php/2008/04/09/virtualbox-access-windows-host-shared-folders-from-ubuntu-guest/

**OCEnvisions note:
From picaso
The reason that the shared folder option has to be manually created is because of a bug. Click here for a explanation of what is happening and what is being done to resolve the bug. The mountall package does not seem to work. An upstart job is needed in order for the vboxsf mounts defined on /etc/fstab to work properly.
Enhanced by Zemanta

TSQL Joins

| No Comments | No TrackBacks
sql_logo.png

 

sql_logo.png

 

Very often we need to pull data from 2 or more sources (tables or views) and combined them into 1 logical unit.  

There is often a bit of confusion on when and how to use them.

I will first describe each JOIN type and how it works with the 2 tables involved.  The major JOIN types are color coded to make it easier to see where that join type ends.
INNER JOIN is in red
OUTER JOINs are in a tan/beige or olive green type color
CROSS JOIN is in blue

I'll then go into some hints and

pitfalls when JOINing more than 2 tables.

Lets get started - For this FAQ I'll be using an example of a fictious health care system.  We have 2 simple tables for the initial discussion.

Doctors                   Patients
ID FullName     MedCntrID ID FullName   DocID
1  Joe Manners   1        1  Jim Thick   4
2  Sue Tongs     1        2  Tom Small   2
3  Jeff Spine    1        3  Al Downs    4
4  Mary Rasch    2        4  Ann Hills   1
5  Tom Thumb     2        5  Tim Burrow  3
6  Norm Lobe     3        6  Jane Fern   5
                          7  Sam Broom   2
                          8  Gary Far    1
                          9  Bill Out    5
                          10 Dave Bell   4
                          11 Fred Overs  5
                          12 Greg Double 1
                          13 Bob Marks   9

Now that we have our 2 tables lets see how we can join them

JOINS take on the format of

      FROM
Left_Table
 JOIN_TYPE
Right_Table
        ON
Join_Condition



INNER JOIN - This JOIN takes every record in the Left_Table and looks for 1 or more matches in the Right_Table based on the Join_Condition.  If 1 is found the record is added to the result set.  If more then one matching record is found in the Right_Table then there are multiple records added to the result set.

Lets look at this in action

SELECT D.FullName AS DoctorName, P.FullName AS PatientName
  FROM
Doctors D
 INNER JOIN
Patients P
    ON
D.ID = P.DocID

The query exectutes and grabs the first record in the Left_Table Doctors D

1  Joe Manners   1        

It then matches all records in the Right_Table Patients P based on the Join_Condition D.ID = P.DocID

4  Ann Hills   1
8  Gary Far    1
12 Greg Double 1

And produces this in the result set

DoctorName   PatientName
Joe Manners  Ann Hills
Joe Manners  Gary Far
Joe Manners  Greg Double

Then the next record in the Left_Table Doctors D is grabbed

2  Sue Tongs     1        

Then all matching records in the the Right_Table Patients P for this record based on the Join_Condition D.ID = P.DocID are found and the records are added to the result set.  The final result set for this query would look like this

DoctorName   PatientName
Joe Manners  Ann Hills
Joe Manners  Gary Far
Joe Manners  Greg Double
Sue Tongs    Tom Small
Sue Tongs    Sam Broom
Jeff Spine   Tim Burrow
Mary Rasch   Jim Thick
Mary Rasch   Al Downs
Mary Rasch   Dave Bell
Tom Thumb    Jane Fern
Tom Thumb    Bill Out
Tom Thumb    Fred Overs

Note that Norm Lobe does not appear in the result set because no Patients have him listed as a doctor.  Also Bob Marks does not appear in the result set because his doctor is not in the Doctors table


OUTER JOIN - This JOIN takes on 3 variations.  All 3 have a similar function.  These JOINs are designed to bring 2 tables together but include data even if there the Join_Condition is does not find a matching record(s).  What it does is fill in the tables columns with NULLs.  Lets take the the different types and talk about them.

LEFT OUTER JOIN - This JOIN, is a bit like the INNER JOIN.  It takes the Left_Table and tries to match records based on the Join_Condition in the Right_Table. If record(s) are found in the Right_Table then they are match just as they would be in the INNER JOIN.  If no match is found in the Right_Tablethen only 1 row is added to the result set for the record in the Left_Table and the columns that come from the Right_Table have the value of NULL

So a query of


SELECT D.FullName AS DoctorName, P.FullName AS PatientName
  FROM
Doctors D
  LEFT OUTER JOIN
Patients P
    ON
D.ID = P.DocID


has a result set of

DoctorName   PatientName
Joe Manners  Ann Hills
Joe Manners  Gary Far
Joe Manners  Greg Double
Sue Tongs    Tom Small
Sue Tongs    Sam Broom
Jeff Spine   Tim Burrow
Mary Rasch   Jim Thick
Mary Rasch   Al Downs
Mary Rasch   Dave Bell
Tom Thumb    Jane Fern
Tom Thumb    Bill Out
Tom Thumb    Fred Overs
Norm Lobe    NULL

Note this is the same result set as the INNER JOIN but includes a the bolded record because the rule is that ever record in the Left_Table will end up in the result set.

RIGHT OUTER JOIN - This JOIN is just like the LEFT OUTER JOIN except the Right_Table is the table that will have every one of its records in the result set and if no record is found in the
Left_Table then its columns in the result set will be NULL

So a query of


SELECT D.FullName AS DoctorName, P.FullName AS PatientName
  FROM
Doctors D
 RIGHT OUTER JOIN
Patients P
    ON
D.ID = P.DocID


has a result set of
DoctorName   PatientName
Joe Manners  Ann Hills
Joe Manners  Gary Far
Joe Manners  Greg Double
Sue Tongs    Tom Small
Sue Tongs    Sam Broom
Jeff Spine   Tim Burrow
Mary Rasch   Jim Thick
Mary Rasch   Al Downs
Mary Rasch   Dave Bell
Tom Thumb    Jane Fern
Tom Thumb    Bill Out
Tom Thumb    Fred Overs
NULL         Bob Marks

FULL OUTER JOIN - This JOIN is a combination of both.  All records from both Left_Table and Right_Table are in the result set and matched when they can be on the Join_Condition when no record is found in the opposit table NULL values are used for the columns.
So a query of


SELECT D.FullName AS DoctorName, P.FullName AS PatientName
  FROM
Doctors D
  FULL OUTER JOIN
Patients P
    ON
D.ID = P.DocID


has a result set of
Norm Lobe    NULL
DoctorName   PatientName
Joe Manners  Ann Hills
Joe Manners  Gary Far
Joe Manners  Greg Double
Sue Tongs    Tom Small
Sue Tongs    Sam Broom
Jeff Spine   Tim Burrow
Mary Rasch   Jim Thick
Mary Rasch   Al Downs
Mary Rasch   Dave Bell
Tom Thumb    Jane Fern
Tom Thumb    Bill Out
Tom Thumb    Fred Overs
NULL         Bob Marks




Now there is one more Join type in T-SQL.  This is not frequently used and I've personally come up with 1 use for it and that is filling up a table with dummy data to get a rough idea of performance.  r937 has shown me a few other times you can use these and links to those Threads are at the bottom of this section.

CROSS JOIN This JOIN has a slightly different format in that it does not have a ON clause with a Join_Condition.  This is because of the nature of the CROSS JOIN it doesn't need a join condition.  What it does is perform a cartesian product of the tables involved in the join.  This mean every row in the Left_Table is joined to every row in the Right_Table.  For our tables with 6 doctors and 13 patients we would get a result set of 6x13 or 78 records.  The query would look like


SELECT D.FullName AS DoctorName, P.FullName AS PatientName
  FROM
Doctors D
 CROSS JOIN
Patients P


The result set would look roughly like this

Joe Manners  Jim Thick
Joe Manners  Tom Small
Joe Manners  Al Downs
Joe Manners  Ann Hills
Joe Manners  Tim Burrow
.
.
.
Norm Lobe    Fred Overs
Norm Lobe    Greg Double
Norm Lobe    Bob Marks


following threads are some great examples of using cross joins by r937, thanks for enlightening me.

Thread183-755853 -- triple cross-join of the integers 0 through 9 to create the numbers which are used to generate a range of dates

Thread436-755873 -- cross join a single row of one table to unrelated rows of another

Thread701-728879 -- cross join two tables to get all possible combinations, then outer join to find the ones that are missing



Now there are the JOINs and how they work.  What about when you want to join more then 2 tables?
Really  you can only join 2 tables together.  You just can have multiple sets of 2 tables and 1 single table may be joined to more then 1 other table, heck you can even join a table back to itself.

Some rules to follow to make things easier.  
1) Use a LEFT OUTER JOIN over a RIGHT OUTER JOIN when ever possible.  It will make things easier as you can always think of the Left_Table as the base table.

2) Start from you base table and work outwards towards the auxillary tables.  Say you wanted to get a list of Patients with that have doctors on your register and pull the information about the Medical Center the doctor works at if it is avialable then you would do it like this

SELECT ....
  FROM Patients P
 INNER JOIN Doctors D  *NOTE 1
    ON P.DocID = D.ID
  LEFT OUTER JOIN MedicalCenters MC *NOTE 2
    ON D.MedCntrID = MC.ID


*NOTE 1 INNER JOIN because you only want patients that have a doctor that is on your register
*NOTE 1 Left OUTER JOIN because you want the information about the medical center if you have it but if you don't you still want the record to be included.  If  you made this a INNER JOIN then if a Doctor's medical center was not on record then the doctor would not be included in the result set meaing that any of their patients would not be on the result set since Patients and Doctors is done with an INNER JOIN too.

3) You can have multiple conditions for the ON clause just like you can in a WHERE clause.  Make sure you know the difference between a JOIN condition and a WHERE clause.  Though they look similiar in task they can execute slightly different giving unexpected results if you are not careful.

4) Use Alias in tables names they can make reading your queries much easiers

5) Format your queries for easy reading.  A query doesn't run any faster if its all on 1 line or spread over 40 lines.  As you can see from my formating style it is very easy to see what joins to what and the conditions they use which means less of a chance you made a error and will get unexpected results.

6) JOIN conditions are prime canidates for indexs.  On small tables it doesn't matter but large tables will show great performance benifits from haveing the columns indexed.

I hope this little FAQ helps you understand JOINs better.


Thanks to SQLSister and r937 for going over it and finding my mistakes and to r937 for some different, very useful, examples of cross joins.

 

Citation:

http://www.tek-tips.com/faqs.cfm?fid=4785 


Enhanced by Zemanta

OpenEMR

| No Comments | No TrackBacks
openemr_logo.gifI have just completed an OpenEMR manual for version 3.2 for a hormone replacement therapy clinic. This manual would be great to use if you have a similar type clinic. Please comment any suggestions.

Click the link below to save the manual to your local hard drive. I have prepared the OpenEMR 3.2 manual in Open Office format (.odt) and also in MS Office format (.doc):

manual_v4.odt
manual_v4.doc

Related articles:

Enhanced by Zemanta

The Microsoft Visual Studio .NET logo.

Image via Wikipedia

Have you been nerve-racked by Visual Basic's design time editor that seems to lock the height of the the TextBox? The way around this is very simply:

  • In design time click on the TextBox
  • Go to the bottom right of Visual Studio into the Properties area.

  • Find the Behavior area and expand it.
  • Click on Multiline and then click the drop down to the right of the word "False.".
  • Change the setting to "True"
Enhanced by Zemanta
Snapshot of a Front USB port

Image via Wikipedia

autorun.png
This app blocks a virus in USB flash/disk from auto-running. When a USB disk is inserted, this tool not only locks the autorun.inf file, but also locks all the autorun-related virus and other suspicious files. Add it to your IT nerd chest!

Yes, I know you can edit the autorun config, but many times Windows Updates will revert these changes. A safer bet would be to use the No Autorun application.

**The files can be downloaded from SourceForge here:



Enhanced by Zemanta
See title

Image via Wikipedia


ipcop-logo.png


Make a bootable IPCop installation thumbdrive

You'll need a 64Mb or larger thumbdrive with nothing important on it because you're going to wipe the existing data. When you're done installing IPCop you can reformat it and use it for other stuff again.

How to create your bootable thumbdrive on Windows

  1. Download the Copplus "usb-fdd" image here: http://ko.sourceforge.jp/projects/sfnet_ipcop/downloads/IPCop/IPCop%201.4.19%20_%201.4.20/ipcop-1.4.20-install-usb-fdd.i386.img.gz/
  2. Download a utility called dd for windows.
  3. Extract the dd.exe file from the zip, and extract the ipcop-[version]-copplus-usb-fdd.i386.img file from the .gz file you downloaded, put them both in the same directory.
  4. Insert a USB drive Any files on this drive will be WIPED so be sure if there is anything you need on it, to copy the files off it!!
  5. Open up a command window and CD to the directory your dd.exe file and IPCop .img file are sitting. Figure out which drive letter the thumbdrive has; in this case it's 'G:\"  Run this command:
	dd if=ipcop-1.4.20-install-usb-fdd.i386.img of=\\.\g: bs=1k

That's it!  It will take about 5 minutes to write the image to the USB drive.  When dd.exe is done it will return you to the command prompt.  You're ready to stick the USB drive in your soon-to-be IPCop machine, boot off it, and install it!

These Windows directions courtesy of nicholasoverstreet.com

How to create your bootable thumbdrive on linux

  1. Download the usb-fdd image to your home directory. You don't need to unzip it.
  2. Go to a shell prompt. Then insert your thumbdrive and determine what drive it is. (i.e. /dev/sdc or /dev/sdb) Typing dmesg right after you insert it will usually clue you in.
  3. You might need to sudo first. Use zcat to unzip and copy the image to the drive like so:

zcat ipcop-1.4.20-install-usb-fdd.i386.img.gz > /dev/sdc
(Substitute the correct drive designator for your thumbdrive or you might wipe your HDD! Use the designator without a number on the end i.e. /dev/sdb or /dev/sdc not /dev/sdb1 /dev/sdc2)

Enhanced by Zemanta
Internet Explorer Mobile Logo

Image via Wikipedia

After working at three different companies where only certain versions of IE would properly display the companies CRM or ticket tracker I think I have the fix for most rendering issues associated with Microsofts stubborness to follow the Box Model and adhere to the W3C markup standards.

Here are my suggestions for "fixing" IE 8 in order to provide a workaround for the broken Box Model found in Internet Explorer.

 

 

The following examples are can be found in IE 8 utilizing the button in the top, far right corner of the screen called Internet Options:

 

ie8_01.png

A.- Add to site to Trusted Sites.

1.               https://*.entersitenamehere.com

2.               http://*.entersitenamehere.com (uncheck the box to require https)

 

Click the Security tab, then Sites under each zone:

 

ie8_02.png 

 Trusted sites (cont'd):

ie8_03.pngB.- Click the compatibility mode button on the right side of the URL bar.

 

ie8_04.png

 

C.- Stop the http popup, because if user choose "Yes" then the page will render incorrectly.

1.     Going  to Tools->Internet Options->Security

2.     Select the 'Security' tab

3.     Click Trusted Sites

4.     Click the 'Custom Level' button

5.     In the 'Miscellaneous' section change "Display mixed content" to Enable

a.     Then repeat steps 4 and 5 for the other two zones, "Internet and Local  Intranet."

 

ie8_05.png  

 

 

 

ie8_06.png

 

My opinion is that IE 8 will work fine with most CRMs and ticket tracker applications. If these directions do not work, and you have followed them exactly, then try them one more time after doing the following:

 

1.     Click Tools.

2.     Click Internet Options.

3.     Click the Advanced Tab.

4.     Click the button Reset at the bottom right.

 

 

                                                                                                Regards,

 

                                                                                                http://ocenvisions.com

 

                                                                                               


 

Enhanced by Zemanta
SAN FRANCISCO - MAY 13:  A pedestrian walks by...

Image by Getty Images via Daylife

Do you want to run Hyper-V for Server  2008? Do you want to run Virtual PC 2007 (32-bit only)?
If so you better be sure that you have an Intel processor with VT technology. Click the link below for a nifty little app provided by Intel. This app will tell you what kind of processor you have, and namely explain if you have the VT technology built into your processor:

Click Here For The App

Reblog this post [with Zemanta]

dlink.jpgIf you are having trouble with losing wireless connectivity on a DLink router, Model DIR-615 H/W version C1, here is the fix.

 Go get the new firmware update 3.12NA by clicking here:

http://www.dlink.com/products/?tab=3&pid=DIR-615&rev=DIR-615_revC

  1. Save above file to your Desktop
  2. Go to the file on your desktop and rt click, then click extract all, then press enter on keyboard
  3. Log into router via web browser by typing in the address bar, 192.168.0.1
  4. Log in as Admin
  5. Click Wireless Settings on lft menu bar
  6. Click Manual Wireless Connection Setup btn at bottom of page
  7. Under the Wireless Network Settings div, uncheck the box Enable Auto Channel Scan
  8. On the Wireless Channel drop down, select Channel 6
  9. Choose WPA Personal, under Security Mode div
  10. Choose WPA2 Only, under WPA div
  11. Enter Pre-Shared key you will remember
  12. Scroll to top and click Save Settings.
  13. Click Interner on lft menu bar
  14. Set Primary DNS as 192.168.0.1 and Secondary DNS as 4.2.2.2
  15. Scroll to top and click Save Settings
  16. Click Tools on horizontal menu bar
  17. Click Firmware on lft menu bar
  18. In the Firmware Update div click browse, Click Desktop and navigate to the previously extracted folder named "dir615_revC_fw_312NA."
  19. Double click on the bin file inside of this folder named "DIR615C1_FW312NA.bin"
  20. Click Upload in the Firmware Update div. **Be patient, and make sure you are using a wired connection, not wireless.

Done - Enjoy!

http://www.ocenvisions.com/thetaxclubcom/

Enhanced by Zemanta

Find recent content on the main index or look in the archives to find all content.

Recent Comments

  • mutuelle: Very good article here.Thanks a lot for the info which read more
  • Sole F80 Treadmill: Please tell me it worked right? I dont want to read more
  • Ab Circle: Why didn’t I find this post earlier? Keep up the read more
  • Forex Broker: Wonderful to read! read more
  • Michael Jones : http://www.bobandcarl.com/forum/profile.php?mode=viewprofile&u=85989 read more
  • Recover Data File: I have bookmarked it. This post is really so interesting read more
  • Eda Yacavone: By visiting your webpage, the first impression for me is read more
  • Hi All...: Hey guys, My name is Alice Wong and I am read more
  • Curt Labean: I stopped smoking a week ago and it really is read more
  • Florentino Henao: and will try it out. Ideally, it is going read more

Recent Assets

  • openemr_logo.gif
  • autorun.png
  • snip_02.png
  • dlink.jpg
  • ipcop-logo.png
  • ie8_06.png
  • ie8_05.png
  • ie8_04.png
  • ie8_03.png
  • ie8_02.png

Categories

OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.32-en