
Wow! That was annoying. As most know, IE5 and IE6 both tend to misinterpret standard CSS forcing us to resort to hacks designed to make them comply and display correctly.
I just recently found two very useful resources when it comes to making div tags float and pad correctly:
First explains and gives a fix for the odd fact that IE5 and IE6 will double the left margin of an element that has a float:left in it.
The fix is awesomely simple. You just set display:inline;.
http://www.positioniseverything.net/explorer/doubled-margin.html
The other explains gives a fix for the fact that IE5 and IE6 treat padding differently. Per CSS specifications, padding should add to the overall width. So, if you have a 100px div tag with 20px padding on all sides, it should be 140px wide.
The previous versions of IE keep the width exactly and simply pad inward rather than outward. All fine and dandy, except all other browsers don’t.
This is a bit more complicated, here’s the overall hack:
div.content {
width:400px;
voice-family: "\"}\"";
voice-family:inherit;
width:300px;
}
/* CSS1 UAs should see and use 2nd width */
html>body .content { width:300px }
http://tantek.com/CSS/Examples/boxmodelhack.html
Tags: CSS
I’ve often wondered if I could have a select statement that retrieved data from two databases at a time. I just got a SQL Server tip in the mail this morning that walks you through the steps. It’s awesome! Does everything and more. The keyword is OPENROWSET.
Here’s the link:
http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1353663_mem1,00.html
Example from above article:
SELECT e1.EmployeeID, e2.FirstName, e2.LastName, e1.JobTitle
FROM OPENROWSET(
'SQLNCLI',
'Server=SqlSrv1;Trusted_Connection=yes;',
'SELECT EmployeeID, FirstName, LastName, JobTitle
FROM AdventureWorks.HumanResources.vEmployee'
) AS e1
INNER JOIN OPENROWSET(
'Microsoft.Jet.OLEDB.4.0',
'C:\Data\Employees.mdb'; 'admin';' ',
'SELECT EmployeeID, FirstName, LastName, JobTitle
FROM Employees'
) AS e2
ON e1.EmployeeID = e2.EmployeeID
ORDER BY e2.LastName, e2.FirstName
Here’s the MSDN link on OPENROWSET.
http://msdn.microsoft.com/en-us/library/ms190312.aspx
Tags: sql
I just recently needed to install PHP on my development machine, which has Vista Home Premium on it. I downloaded the installer version of PHP5 from the website and ran it. It killed my IIS process and didn’t hook up to PHP extensions. Every 5 minutes, I’d get a IIS process stopped working message.
After searching the net for a good tutorial on how to install PHP on Vista, I found the following from an engineer at Microsoft. It worked like a charm:
http://blogs.iis.net/bills/archive/2006/09/19/How-to-install-PHP-on-IIS7-_2800_RC1_2900_.aspx
You’ll need to download the zip version of php, not the installer, here:
http://www.php.net/downloads.php
Just finished debugging a persistent error with a PHP5 install on Windows 2003. Kept saying:
“Invalid access to memory location.”
Finally figured out that it means that there is a file or folder referenced in the php.ini that doesn’t exist. To fix, simply search “c:\” and find the uncommented line with the wrong path.
Google just released a new feature – iPhone sync for Google Calendar! That was the first thing I tried to do when I got my iPhone. I ended up using a workaround through NeuvaSync.com. It worked perfectly and thus I was a little hesitant to try the official version out. The little banner at the top of my Google Calendar homepage, finally got to me though:

I had to try it out.
I went through all of the steps, but it the instructions didn’t work! It appeared that it worked perfectly for regular google calendar owners, but when you used Google Apps for Domains it didn’t work.
It took several hours of searching to finally figure out what was going on. The Mobile Sync wasn’t enabled in my Google Apps account. But also, I didn’t even have the ability to enable it! Here are the steps that I had to take to get Calendar Sync working for my Google Apps for Domains account:
1. Go to Domain Settings at the top:

2. All the way at the bottom, make sure that your control panel has Next Generation selected.

3. Now, go over to Service Settings on the top right. You’ll now have a “Mobile” option. This wasn’t there for me until I selected “Next Generation” in the control panel section.

4. Enable the Sync and you’re off. The original instructions link should now work perfectly!
http://www.google.com/mobile/apple/sync.html
Sometimes you just want to test an email address to see if it’s valid, but you don’t actually want to send them an email.
Instead of sending an email with the subject of “Just testing”, it’s a simple programming task to check the validity of the address. You can check the syntax, if the domain name is valid and if the receiving mail server will accept mail for the address.
I did a search today and found several websites. One was broken, but this one worked perfectly:
Do you have any other good ones that should be mentioned?
It’s very important to test your code on multiple browsers. Your audience could have any of them and you want your site to look the best no matter what, even if they have an ancient computer.
I’ve found several very good resources out there that have excellent free options.
CrossBrowserTesting.com
I love this site. It actually gives you a remote desktop session with the OS and the browsers that you need to test.
NOTE: They used to have a free option, but it is gone now. Lowest cost is $19.95 for one month subscription.
Enter your URL and it returns screen shots of your site in over 80 browser and OS combinations. It even gives you the option of downloading them all as a zip file. Extremely handy!
Lastly, if your site is running into problems with older versions of IE, there is no easy way to install previous versions of IE on top of a more current version.
Tredo Soft has a program you can install called Multiple IE’s. It lets you do just what you couldn’t. Install previous versions of IE and test them on your computer. No more waiting for browser sessions on CrossBrowserTesting.com just to test IE! Here is the link:
http://tredosoft.com/Multiple_IE
If you’re using Vista, Multiple IE’s won’t work, however. You may need to use My DebugBar’s IE Tester:
http://www.my-debugbar.com/wiki/IETester/HomePage
Best,
Tom
I recently had to query to find out how many records from one table were not in another really large table. When you do a select statement like this in MSSQL it overflows and gives you a response of 0. Not very helpful:
select count(*) from Table1 where Field Not In (Select Field from Table2)
All other ideas failing, I finally resorted to writing a query using a temp table variable:
set nocount on;
declare @Tables table (
PK int IDENTITY(1,1),
Field1 varchar(100), Field2 varchar(100)
);
insert into @Tables(Field1 , Field2 )
select t1.Field, t2.Field from Table1 t1
left outer join Table2 t2 on
t1.Field = t2.Field;
set nocount off;
select count(*) as Count, Field1 from @Tables
where Field2 is Null
Group by Field1
Having Count(*) < 2;
Talk about complicated! If you have any other better ways of doing this - please let me know!
I just got an IPhone recently and set it to use Youmail. Youmail is a great service, but right now I actually found I wanted to just use the visual voicemail that comes with the IPhone. When traveling, I think I’ll want to be able to activate Youmail again because it is very handy the way it send you emails with your voicemails in them – it even transcribes them!
Anyway, I had a hell of a time finding the dialing codes to deactivate Youmail, so I put them here. I put them as contacts in my phone for future reference.
I previously posted a link to this article as having the codes I needed to deactivate Youmail:
http://arstechnica.com/journals/apple.ars/2008/08/16/on-disabling-voicemail-on-the-iphone
It turns out the codes only seemed to work. I ended up having to cancel my Youmail account and they then gave me the codes. Very frustrating.
To disable the Youmail service and revert to Visual Voicemail the code is ##004#. (This is on AT&T or Cingular).