So I was playing with Google Friend Connect the other day.
It looked very nice, and I decided to implement it on one of my website. This website attracts quite a lot of visitors everyday, and also generates most of the Adsense income.
Fast forward one week further ad one of my colleagues send me an email telling me there was something wrong with my website.
So I fired up Google Analytics and it quickly became apparent that there was a problem indeed.

Google Analytics Overview
Apparently the Google Friend Connect code don’t like Internet Explorer 6.0, and instead of displaying my page, an error was displayed.
After removing the code, the visits went up again.
So it shows that you really need to test new code on a wide range of operating systems and browsers for compatibility issues.
Posted in Uncategorized.
There is a cool library available on Google Code which makes developing websites for the iPhone a breeze.
It’s called IUI and was developed by Joe Hewitt.
BPlayer is a perfect example of such an iPhone app developed with IUI.
It features all Belgian radio stations that can be streamed in the browser. The advantage of streaming a chosen radio station inside a browser is that you can do multi-tasking with your iPhone, at least as of OS 3.0
Using this method, you can listen to your favourite radio station and still use your iPhone to send text/sms messages, browse pictures, check your stocks, …
Posted in Websites, iphone.
Normally you can define the security zone for an asynchronous pluggable protocol handler on following location in the registry
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\ProtocolDefaults
You define a new DWORD value for your protocol.
If you test your protocol and it doesn’t seem to work, check out if it is not overrulled by a policy.
With Microsoft’s Group Policy Editor, you can define a group of settings to be applied to all computers in an AD domain.
If this is the case, you need to overrule the security zone setting on a different location:
HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\protocolDefaults
Of course, you need to make this change with the Group Policy Editor, so it is persistent if you reboot or reconnect.
Posted in C++.
Tagged with asynchrounous protocol handler, internet explorer, security zone.
In Internet explorer 8, a close button is displayed next to a third-party (custom) toolbar.
This is some new behaviour of Internet Explorer and was driven by the fact that users indicated the need for easy hiding and disabling of toolbar add-ons.
You can read more about this on the IE 8 Readiness Toolit webpages.
Posted in Websites.
Tagged with custom toolbar, IE 8.
By admin
February 16, 2009
After migrating your ATL project to Visual Studio 2005, you suddenly receive following error when distributing your application to other computers:
LoadLibrary("yourdll") failed: This application has failed to start because
the application configuration is incorrect.
Reinstalling the application may fix the problem.
Bummer.
Opening up the dll with Dependency Walker gives following error message:
Error: The Side-by-Side configuration information for "YOUR.DLL" contains errors.
This application has failed to start because the application configuration is incorrect.
Reinstalling the application may fix this problem (14001).
The problem lies in the fact that Visual Studio ships with ATL 8.0 dll, and this requires a manifest to be delivered together with the ATL80.dll.
A simple solution was to include both ATL80.dll and Microsoft.VC80.ATL.manifest into the installer, and copy it into the same installation directory as YOUR.DLL.
Both files can be found on following location on a standard Visual C++ installation:
C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.ATL
Posted in C++.
Tagged with ATL, error, regsvr32, Visual C++.
By admin
February 13, 2009
You can use the set command to ask for a parameter on the dos command prompt.
Assign it to a variable which can be used later.
set /p VAL=Please provide a value for this parameter:
echo %VAL%
Posted in Scripting.
Tagged with command prompt, msdos.
By admin
January 19, 2009
Let’s say you have defined a policy on a table, and you are making use of Oracle 10g functionality to restrict it to certain columns:
begin
DBMS_RLS.ADD_POLICY (
'MYSCHEMA',
'MYTABLE',
'MY_POLICY_NAME',
'MYSCHEMA',
'MY_POLICY_FUNCTION',
'SELECT',
SEC_RELEVANT_COLS => 'COL1, COL2',
sec_relevant_cols_opt => dbms_rls.ALL_ROWS
);
end;
Normally you would query the dba_policies data dictionary view in order to see what policies are defined, but this data dictionary view does not include the relevant columns for the policy.
In order to see what columns are impacted by a certain policy, you need to query the dba_sec_relevant_cols data dictionary view.
SQL> SELECT object_owner, object_name, sec_rel_column
FROM DBA_SEC_RELEVANT_COLS;
OBJECT_OWNER OBJECT_NAME SEC_REL_COLUMN
------------------------ ------------------ ------------------------
MYSCHEMA MYTABLE COL1
MYSCHEMA MYTABLE COL2
Posted in Oracle, Security.
Tagged with Oracle, policy, virtual private database, VPD.
By admin
January 15, 2009
You are trying to install frogcms on your webserver, but during table creation you get following error message:
SQLSTATE[HY000] [2002]
Can't connect to local MySQL server
through socket '/tmp/mysql.sock' (2)
The solution is to change the hostname in the mysql connect information screen into 127.0.0.1 instead of localhost.
If the port number mysql is running on is different than the default, mysql ignores it when you do not specify 127.0.0.1.
More information can be found here: http://forum.madebyfrog.com/topic/483
Posted in Mysql, Websites.
Tagged with frogcms, Mysql.
By admin
January 14, 2009
If you want to know how many rows and / or columns there are in an excel sheet, you can use the UsedRange object.
This is a much better solution than looping over all rows and columns looking for the boundaries.
Private Sub cmdLoad_Click()
Dim excel_app As Object
Dim excel_sheet As Object
Dim new_value As String
Dim first_row As Integer
Dim first_col As Integer
Dim num_rows As Integer
Dim num_cols As Integer
' Create the Excel application.
Set excel_app = CreateObject("Excel.Application")
' Uncomment this line to make Excel visible.
' excel_app.Visible = True
' Open the Excel spreadsheet.
excel_app.Workbooks.Open FileName:=txtExcelFile.Text
' Check for later versions.
If Val(excel_app.Application.Version) >= 8 Then
Set excel_sheet = excel_app.ActiveSheet
Else
Set excel_sheet = excel_app
End If
' Get and display the bounds.
first_row = excel_sheet.UsedRange.Row
first_col = excel_sheet.UsedRange.Column
num_rows = excel_sheet.UsedRange.Rows.Count
num_cols = excel_sheet.UsedRange.Columns.Count
MsgBox "Rows: " & Format$(first_row) & _
" - " & Format$(first_row + num_rows - 1) & vbCrLf _
& _
"Cols: " & Format$(first_col) & _
" - " & Format$(first_col + num_cols - 1)
' Comment the rest of the lines to keep
' Excel running so you can see it.
' Close the workbook without saving.
excel_app.ActiveWorkbook.Close False
' Close Excel.
excel_app.Quit
Set excel_sheet = Nothing
Set excel_app = Nothing
End Sub
Posted in Performance, VBA.
Tagged with excel, Visual basic.
By admin
January 14, 2009
If you need to check if a Linux installation is running on a 32-bit or a 64-bit processes, you can use the uname command for that:
i386 is a 32-bit machine, while x86_64 or ia64 are 64-bit cpu’s
You can check /proc/cpuinfo for more information about the number and types of cpu on a system.
If you want to check the version of an executable file on Linux, you can do so with the readelf command
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x829934c
Start of program headers: 52 (bytes into file)
Start of section headers: 84699856 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 8
Size of section headers: 40 (bytes)
Number of section headers: 31
Section header string table index: 28
Posted in Linux, Oracle.
Tagged with howto, Linux.
By admin
January 14, 2009
Recent Comments