Repair broken mailto: handler in Windows Repair broken mailto: handler in Windows

October 8th, 2008

When rolling out ChromeMailer to the people on the wild internets, some reported problems with missing mailto: handlers in registry. If ChromeMailer redirected you here, please see the steps below to repair your mailto handlers.

 NOTE: YOU ARE RESPONSIBLE FOR THE CHANGES YOU MAKE IN YOUR REGISTRY!

There’s two ways to fix the issue:

 1) Download fix_mailto.reg , (right click -> save as…) then double click it to install. It will recreate all required nodes.

2) Manually. Open Regedit (Start / Run… or in Vista type Regedit into search)

click on HKEY_CLASSES_ROOT. right click on it, New > key, rename it to “mailto”, then select mailto, New > key, create “shell”, in shell, create “open”, in open create “command”, in command: New > string value .it will create a key named (Default), double click on the (Default), and enter the following:

a) on Vista: C:\Program Files\Windows Mail\WinMail.exe /mailurl:%1

b) on XP: C:\Program Files\Outlook Express\msimn.exe /mailurl:%1

This will reset the mailto: protocol handler to Windows default settings. If you now want to use ChromeMailer, simply run it, press ‘Install as Default Mailer’ and it will work as expected.

What does ChromeMailer do in the background? What does ChromeMailer do in the background?

October 8th, 2008

Update:

Installing Chromemailer does NOT mean you’ve set it up! Please go to Start menu -> Programs -> ChromeMailer and run ChromeMailer.exe!

You can always find the executable under (your install drive, usually C:) \Program Files\Skaelede Online\ChromeMailer\ChromeMailer.exe

People keep asking me, why do they need to use ChromeMailer, how it differs from the good old registry hacks?

Here’s the technical information: ChromeMailer modifies the default mailto: handler in the registry (HKEY_CLASSES_ROOT || HKEY_CURRENT_USER \mailto\shell\open\command), as the good old registry hacks do.

If a computer is a stand-alone one, it will use the HKEY_CLASSES_ROOT,if it’s in a domain it will use HKEY_CURRENT_USER. (others’ settings will not be affected - only if the user is logged in as a Domain Administrator.)

The true difference between the other registry-hacks and ChromeMailer is, that it sets the handler to itself, and rewrites the mailto: parameters.

A valid mailto: is like:

mailto:balint@skaelede.hu?subject=Hello&body=Message&cc=info@skaelede.hu&bcc=hidden@skaelede.hu

If you pass Gmail URL + mailto: params directly to Chrome (or any other browser) in the registry, with %1 parameter, it will truncate some parts of it, because 2 question marks will be in the URL, and it’s not permitted without UrlEncode: so anything after the second will miss.

For example: https://mail.google.com/mail/?extsrc=mailto&url=mailto:balint@skaelede.hu?subject=Hello would show up a window with the to address filled, but subject missing.

Parameter rewrite is the reason for UAC error on Vista, i don’t have $399 to to buy code authentication for my *free* app.
So for a user request, in version 0.2 I added the possibility to use this “truncated” mode, so it will not show up any messages, and will work in 80%… :)

open mailto email links from Google Chrome in Google Mail account open mailto email links from Google Chrome in Google Mail account

October 7th, 2008

Google Chrome is the world’s most advanced browser, with many new technical features. We found one missing: we can’t send emails through Google Mail by clicking on mailto: links. All clicks will open up Windows’ default mail client. So we created an application that does the above: it’s called ChromeMailer.

Internet Explorer (IE6, IE7) PNG transparency bug Internet Explorer (IE6, IE7) PNG transparency bug

September 26th, 2008

I simply can’t understand Microsoft, how they can ship Internet Explorer AGAIN with a silly PNG alpha-channel bug. I added a PNG-24 image to the homepage (get in touch button) and IE simply failed to display the border images’ Alpha channel, if they are used as background-image from CSS. I thougt it was an IE6 problem only, but no: IE7 still does not know how to handle properly, so I switched back to the good old IE PNG Fix library from TwinHelix to do the work.

Update: If you’re using IE6 and IE7 on the same machine, IE7 will report itself as IE6 too - so make sure to add the [If IE] clause.

Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints

August 27th, 2008

Visual Studio 2008 keeps me entertained all day long:)

I have a really complicated project, with several tables and views and stored procedures hooked upon it. I’m using XSD as an intermediate abstraction layer.

The error message “Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints” kept haunting me for days; I double checked anything:

  • there were no duplicate keys whatsoever
  • there were no NULL values, I experienced with IsNull(..) for fields
  • even empty tables had this error.

Finally, I figured out, that and any changes to the database schema, even the change of the length of any column triggers the above error, the XSD Schema simply does not recieve the changes; even when I click Refresh Schema.

The one and only working solution is to open the given XSD file, and simply delete and re-add the errorous object.

Firefox and Gecko based browsers say: getAttribute(..) is not a function Firefox and Gecko based browsers say: getAttribute(..) is not a function

July 15th, 2008

Possibly every web developer in his/her lifetime faces with a common DOM error: in IE/Opera the getAttribute() function works as expected for a given item, but in Firefox it misteriously somehow says it’s not a function, or the direct reference to the node object’s attributes returns undefined value.

The problem is, that Firefox’s DOM handling generally differs from IE’s MSXML DOM method. Basically, in Firefox every node has more nodes as it seems.

For example see the following sniplet:

<div id=”first”><a href=”http://skaelede.hu”>text</a></div>

if you want to query the href attribute of the a node, you’d say:

document.getElementById(”first”).childNodes[0].getAttribute(’href’)

in IE, it works flawlessly, but FF will break completely! Why? Because as it seems, the “a” node is the only child of the div, but in reallity, it is not. Let’s face it: we forgot one element: the div text itself, what is currently empty! This will be the first node, and of course it can’t have any attributes.

To work around this problem, first we should loop through all childs in this simple nodeset as well. In step 2, we need to look up the given childNode’s nodeType, if it’s a suitable element node:

var l = document.getElementById(”first”);

if (l.hasChildNodes())
{

for (i=0;i<l.childNodes.length;i++)
{
var m = l.childNodes[i];

if (m.nodeType == 1)
{
var n = m.getAttribute(’href’);

}

}

DataTable: Selecting DISTINCT data with dotnet 2.0 DataTable: Selecting DISTINCT data with dotnet 2.0

April 3rd, 2008

I recently found a way to do a distinct operation on the DataTable class in dotnet 2.0:

DataTable products = GetProductList();
DataView dv = new DataView(products);
products = dv.ToTable("products", true, new string[] {”ArticleId”,”ArticleName”,”Description”});

And the products DataTable will be a distinct list of all products (in this case, one product can belong to two categories as well - so there are duplicate items with different price, attributes etc.).

My ultimate iPod Touch mania: offline Wikipedia! My ultimate iPod Touch mania: offline Wikipedia!

March 26th, 2008

I have a true love for Wikipedia: I always wanted to take the power of information with in my pocket. My good old iPod, which i bought in 2005 was not good enough for the task: you’d need to install a linux on it to get the work done - well, Linux is fine on the Desktop, but not my gadgets! :D

The world had to wait until 2008, when Mr Patric Collison came out with the ultimate software, an interface to the wikipedia bulk xml based database dump. On his site, you can find all information on installing Wikipedia on your iPod Touch or iPhone.

I advise you to download the English dump file via The Pirate Bay, the best torrent tracker on Planet Earth.

I created a dummy video about my progress:

My ultimate iPod Touch mania: custom web icon for websites My ultimate iPod Touch mania: custom web icon for websites

March 26th, 2008

I got my iPod Touch as a gift from my previous company for Christmas, and I’m so happy with it - thank you guys again :D

Being a geek myself, of course I found a way to hack it; and optimized my sites and stuff to be usable on the new platform: Apple Safari Mobile.
With the new 1.1.4 software upgrade, you can add nice webicon to the Touch’s interface:

All you need to do is to create a custom PNG image like this one:  and reference it in the parent webpage’s header section:


<link href=”/img/apple-icon.png” rel=”apple-touch-icon” type=”image/png” />

Set a Network Interface to full duplex 100Mbit mode Set a Network Interface to full duplex 100Mbit mode

March 26th, 2008

Create a new file in init.d (i like nano for file editing):

nano /etc/init.d/makefull100mode

type in:

ethtool -s eth0 speed 100 duplex full autoneg off

exit. in shell, type:

chmod +x /etc/makefull100mode
update-rc.d makefull100mode defaults

when you reboot the machine or restart the network stack, the interface will come up with true full duplex.