One of rather frequent tasks is import of existing contacts from other sources into newly created Gmail account.
There are lot of tools (Gmail offer that as well) for two-way synhronization between various applications (Outlook and such), but one time, one way (Desktop -> Gmail) is not covered very well.
So, task is simple: import multiple VCF (vCard) contacts into Gmail contacts.
I will use Windows Contacts as an example inside Windows 7 (Nokia PC Suite can synhronize contacts in your phone with Windows Contacts) but procedure can be applied to any set of *.vcf files.
Get Windows Contacts into *.vcf format
- Open Windows Contacts
- Select “Organize / Select All“
- Select Export
- Select ”vCards (folder of .vcf files)“
- Click on Export
You will be asked to select folder where all contacts wil be exported as .vcf files:

Let’s assume that you created new folder Cards on C:\ drive and exported *.vcf there. Also, create another subfolder of Cards folder – Final.
So, new structure is C:\Cards\Final with bunch of *.vcf files into C:\Cards
Combine all *.vcf files into one big file
Next step is to combine all *.vcf files into one big file.
Open Windows Explored and locate C:\Cards. Press and hold Shift key and right-click with mouse anywhere in folder and select option “Open command window here“:

Don’t get scared by black window you got; you need to type just one short command:
copy /b *.vcf Final\Big.Vcf

You can close command windows after this.
If you are English speaking person and have no strange characters in names of your contacts, you can stop here – use C:\Cards\Final\Big.vcf as source of import in Gmail Contacts and you are fine.
However, most of us non-English speaking should do final step: proper conversion of file.
Convert big vcf file into UTF8
We will use Powershell for this final step.
Press Start, type Powershell and select Windows PowerShell. Now you will be presented with blue
screen. Type following sequence of commands, pressing Enter on end of every line (or do copy / paste)
cd \Cards\Final
get-content "Big.Vcf" | out-file -encoding "UTF8" -filepath "ConvertedBig.Vcf"

That is it – import your file C:\Cards\Final\ConvertedBig.Vcf into Gmail contacts
13.12.2012
Google,i18n,PowerShell
Dejan VesićComments (0)
Oracle is rather slow when it comes to releasing Oracle Client software for new Microsoft Operating Systems. So, I did not expect that Oracle Client for Windows 7 will be ready (and it is not) in time when Windows 7 RTM is released.
However, if you are brave enough to install Windows 7 RTM
in development environment (I am), and your work is tied to Oracle, than try this approach (worked for me):
- Download and unpack Oracle Database 10g Client Release 2 (10203_vista_w2k8_x86_production_client.zip)
- Start elevated CMD prompt (CMD prompt with Administrator privileges) and navigate to folder where you unpacked files
- Start installation of the client with
setup.exe -ignoreSysPrereqs
- Download from MetaLink Oracle Database 10g Release 2 Patch Set 3 and unpack.
- Repeat (2) – (4) for this PatchSet
For points (3) – (5) you have to have MetaLink account – I was unable to locate 10.2.0.4 Patch Set anywhere else. This is drawback, and you can try using 10.2.0.3 if you do not have MetaLink account.
Of course, this is just workaround until Oracle releases proper Windows 7 client.
9.8.2009
Oracle,Windows
Dejan VesićComments (1)
Personally, I am not too big fan of iPhone, especially regarding earlier versions.
Than again, as a honest technology geek, I also must admit that iPhone 3GS set high standards both in arena of mobile devices as well as in arena of PDA and general mobile platforms; operating system is way better, development support (SDK, tools) gives you opportunity to create stunning applications, and on top of that, iPhone store can give necessary head start and much needed customer and community support.
I am not talking this “from thin air” but from second hand experience, closely watching development of one great little iPhone application – Run Mate, by my friend and colleague, Aleksandar Vacić.
Beautifully crafted, both from technical and design side, small, fast and (on top of everything else) very useful – Run Mate is real example how one mobile application should look like: it should follow all the standards of the underlying ecosystem (operating system), giving to end user maximum benefit for really, really affordable price.
If you are into any kind of walk recreation – running, jogging or just walk in different paces – this is the right application for you. Head to iPhone store, and follow updates on @runmate at Twitter; for any other details / support, here is main site: http://codeaplus.com/runmate/
16.7.2009
Apple,Software
Dejan VesićComments (0)
In one of the projects at my work, I got task to verify some data (in migration process from old system to new one); one of the fields was Chilean RUT (Rol Único Tributario) or Tax Identification Number.
The RUT has 8 digits plus a validation number or letter (xx.xxx.xxx-z) and algorithm for verification (as per my knowledge) is as follows:
- Remove all characters except digits and last char which can be digit or letter “K”
- Pad with zeros (“0″) string until it is exactly 9 symbols long
- Multiply, from left to right, first 8 digits with following factors: 3, 2, 7, 6, 5, 4, 3, 2 and sum those results (let’s call it total)
- Find difference: 11 – (total % 11) (let’s call it rest)
- Determine control char by:
5.1 If rest = 11, than control char “0” (zero)
5.2 If rest = 10, than control char “K”
5.3 Otherwise, rest is control char
- If the original control char (9th char) is equal to calculated control char, RUT is valid.
C# code for this could be like this:
/// <summary>
/// Routine for checking of RUT correctness
/// </summary>
/// <param name="rut">RUT to check</param>
/// <returns>true if RUT is valid</returns>
/// <remarks>Only numbers and optional "K" at the end of string are expected
/// </remarks>
public static bool IsRutOk(string rut)
{
const string RutRegex = "[0-9]+K?";
Regex RegExRut = new Regex(RutRegex, RegexOptions.Compiled |
RegexOptions.IgnoreCase);
int[] coefs = {3, 2, 7, 6, 5, 4, 3, 2};
// In case that rut is padded with spaces
rut = rut.Trim().ToUpperInvariant();
if (!RegExRut.IsMatch(rut)) { return false; }
if (rut.Length > 9) { return false; }
// If shorter than 9 characters (8 + control char) ...
while (rut.Length < 9) { rut = "0" + rut; }
int total = 0;
for (int index = 0; index < rut.Length - 1; index++)
{
char curr = rut.Substring(index, 1).ToCharArray()[0];
total += coefs[index]*(curr - '0');
}
int rest = 11 - (total%11);
if (rest == 11) rest = 0;
if ((rest == 10) && rut.EndsWith("K")) { return true; }
if (rut.Substring(rut.Length - 1, 1).ToCharArray()[0] == ('0' + rest))
{
return true;
}
return false;
}
14.7.2009
.Net,C#,Source Code
Dejan VesićComments (7)
One of important aspects when I am selecting hosting provider is subversion support. My previous host provider, DreamHost, had it, as well as my current host, Mediatemple (I am using (gs) – Grid Service option).
However, while DreamHost was allowing access to subversion repository over http protocol, Mediatemple is more strict: it requires to use svn+ssh (svn protocol over ssh). It proved that setting up this kind of access using great Windows subversion client, TortoiseSVN is a bit of a pain.
So, here is what helped me to get that done.
Ingredients
I will assume following data:
- your domain hosted with media temple is yourdomain.com
- your admin account is serveradmin@yourdomain.com
- your domain account is 12345 (you can find out right number in MediaTemple Account Center -> Server Guide -> System Paths)
- you followed this Mediatemple kb article and created repository named myrep
Software prerequisites are:
Generating public/private pair of keys
In order to access your subversion repository over ssh, you need to create pair of keys: private and public key which will be used for authentication of access to repository. Public key should be stored on your host account, while private key is your own and you should take great care not to give access to private key to anyone else.
Do ssh to your host (you can use PuTTY for this) and make sure that you are in your .home directory (use pwd command):
yourdomain.com@n10:~$ pwd
/home/12345/users/.home
yourdomain.com@n10:~$
Now, create your public/private keys executing ssh-keygen -t dsa; you will get something like:
yourdomain.com@n10:~$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/12345/users/.home/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/12345/users/.home/.ssh/id_dsa.
Your public key has been saved in /home/12345/users/.home/.ssh/id_dsa.pub.
The key fingerprint is:
0b:34:9e:2d:b4:d8:b1:ca:f4:a0:06:91:7f:18:15:0e
You can safely press Enter on all three questions (file / passphrase / passphrase repeated)
Previous process will create two files, located here:
/home/12345/users/.home/.ssh/id_dsa – private key
/home/12345/users/.home/.ssh/id_dsa.pub – public key
Than download (you can use FTP) file id_dsa to your computer (I will assume that you dowloaded into folder C:\Users\Dejan\Documents\Keys) and DELETE it from server:
yourdomain.comg@n10:~$ cd .ssh
yourdomain.com@n10:~/.ssh$ rm id_dsa
While still in shell window, rename public key id_dsa.pub to authorized_keys:
yourdomain.comg@n10:~/.ssh$ mv id_dsa.pub authorized_keys
Converting private key to PuTTY format
One final step is converting private key id_dsa to .ppk format understandable by PuTTY; navigate to PuTTY folder and fire up PuTTYGEN.Exe, and:
- Load id_dsa to PuTTYGEN
- Give comment so that you know purpose of the key
- Assign strong key passphrase (more on this later on)
- Save private key as mt-svn.ppk file

With of without passphrase?
Step 3. above has multiple implications to the rest of the process; if you select to have passphrase to protect your private key, you will need to enter that passphrase at least when logging in computer, in order to “unlock” your private key.
If you decide not to have passphrase, you won’t need to use Pageant or any other method for managing key. However, this is basically as having heavy iron doors w/o lock. I strongly suggest to assign strong passphrase to your key.
Testing access
Now it is time to check if the keys are ok, access ok, and that everything works as expected. Use CMD prompt, navigate to PuTTY folder and execute following:
PuTTY.exe -ssh -2 -i “C:\Users\Dejan\Documents\Keys\mt-svn.ppk” yourdomain.com
When prompted, enter ONLY your username ( serveradmin@yourdomain.com ) – you should be logged on Mediatemple server WITHOUT need to enter password. If that is not true, some of the steps above were missed – check above.
Configuring TortoiseSVN
Ok, now is time to configure TortoiseSVN to access above repositroy. Right click anywhere on empty space in Windows Explorer, and select TortoiseSVN -> Settings; navigate to Network section and setup SSH client as:
"C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -i "C:\Users\Dejan\Documents\Keys\mt-svn.ppk"
Update 2009-11-08: Also, you can try this as well:
"C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -i "C:\Users\Dejan\Documents\Keys\mt-svn.ppk" -P 22
(adding port command, thanks to comment by Didier)

(of course, this will vary depending where you installed TortoiseSVN and on location / name of your private key)
Why TortoisePlink when we were talking about PuTTY all the time? Well, TortoisePlink is just custom version of PuTTY, and it is part of TortoiseSVN and all above can be applied to it.
Browsing repository for the first time
Finally, lets test access to repository; right click anywhere on empty space in Windows Explorer, and select TortoiseSVN -> Repo-browser and enter URL:
svn+ssh://serveradmin@yourdomain.com@yourdomain.com/home/12345/data/svn/myrep
You should be asked (twice) for your passphrase, and after short time, presented with your svn repository on Mediatemple.
Using Pageant for key store
Annoying part of ssh access is that every time you ask connection toward server (and that is basically ANY operation) you will be prompted for passphrase; that is not comfortable way of working
Solution to this is another PuTTY application – Pageant – SSH authentication agent; it holds your private keys in memory, already decoded, so that you can use them often without needing to type a passphrase.
You can either start Pageant manually, and press “Add Key” to import your private key, or you can make it part of the start up group, giving list of keys to be imported:
PageAnt.exe "C:\Users\Dejan\Documents\Keys\mt-svn.ppk"
In that case, you would be asked just once when you log on for passphrase.
Now you are good to go with TortoiseSVN on Windows and Mediatemple subversion repository using svn+ssh
30.6.2009
Software
Dejan VesićComments (23)
In a recent ASP.NET project, we had to replace NLog (excellent logging .Net library, by the way) assembly with newer one.
However, due to complexity of project, recompiling of all dependent assemblies was not an option. Suggested solution was simple – use assembly redirection:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NLog"
publicKeyToken="5120e14c03d0593c" culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0" newVersion="1.0.0.505" />
</dependentAssembly>
</assemblyBinding>
</runtime>
(all of this under <configuration> tag)
In a first attempt, it did not work
– assembly redirection did not happen. Even Fusion Viewer could not find anything strange – it looked like whole redirection part was simply ignored.
I looked (very simple) web.config again, carefully inspecting it; one line, at very top of the file, looked suspitious:
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
After removing name space, and leaving usual:
<configuration>
all worked as a charm.
It turns out, that due bug in Visual Studio 2005, if you used in some point the built-in web administration tool (launched via the WebSite->ASP.NET Configuration menu item) it will add this name space to root configuration element. This will cause not just to stop Intellisense working for Web.Config but also will ignore any Assembly Binding redirection instructions.
So, if you have problem with Assembly Binding redirection in your ASP.NET application, check web.config once more
22.9.2008
.Net,Visual Studio 2005,Web
Dejan VesićComments (1)
I am a big fan of Google – I like services it offers, as well as Google “attitude” toward outside world.
Once when you start using those services, and transfer most of your digital life online, you are hooked – possibility to access/create all of data from anywhere and virtually from any device which interprets html (and that means your mobile phone) is something that you will appreciate much.
Well, maybe “was” is better tense for first sentence; and of course, being human, just one simple thing was enough to change this: they blocked my Google Account (and related GMail account):

For no apparent reason (one night I was sending my mail and next morning I was presented with dreadful message) I got “Sorry, your account has been disabled”. This is not just access to mail, but to Google Docs, Google Notebook, Google Reader, Google Bookmarks – just to mention ones that I use most often.
Of course, I was vaguely aware that this possibility (to get account disabled) exists, but I was also thinking that it is reserved for bad violation of Terms of Use and I was not even close to this; my usage was just regular mail usage – none of unusual activities mentioned in help / troubleshooting documents or in related posts in GMail help groups.
Also, disruptive and unannounced access restriction to the same online repository can hurt you a lot.
Add on top of that very slow response of Google Support (third day, and I have two automated responses and one form filling) and no idea when or even if I would get access to my account again – that put serious doubts in my decision to give trust to Google as big and “good” firm with my data.
Google is not nice; Google is just another company in search for steady and infinite revenue streams; all “free” services it offers are just way to expand market where ads (as main source of revenue) can be placed.
As soon as my account is enabled, I will change two things right away – change/add new online “office” provider (I am testing Zoho now) and backup all of the stuff regularly to desktop (good old offline storage) – my data and time invested to create them is of utmost importance.
Update: they enabled my account after four days; as expected, no explanation was given why account was suspended in a first place. Not nice – 4 days in speedy and busy everyday life w/o mail and many of documents and notes is at least “not nice”. Maybe all those services are free, but I would rather pay some amount for benefit of having telephone support around of clock.
24.7.2008
Digital Life,Google
Dejan VesićComments (1)
If you have scenario like this:
- In your C# / VB.NET application you are using Microsoft Access database (MDF file)
- Target machines are 64 bit machines (Vista 64 or some of the Windows Operating System flavors
- On target machines, where you plan to deploy solution, you installed Microsoft 2007 Office System Driver: Data Connectivity Components
- And still, you are experiencing error like this:
System.InvalidOperationException: The 'Microsoft.Jet.OLEDB.4.0' provider is
not registered on the local machine.
Check if your application is setup for any CPU (Properties / Build / Platform target) which is default. If that is the case, change it to x86 – at the moment, there are no 64bit drivers for Microsoft Office, so only 32bit applications will work as expected.
24.6.2008
.Net,Database,Microsoft
Dejan VesićComments (0)
I recently reinstalled my laptop completely (it is very nice Dell XPS M1330) and took that opportunity to make it into decent development machine (w/o all the stupid preinstalled applications).
Installed also Visual Studio 2005 and 2008, SQL 2005 Express and all the little tools necessary (ClipX for example).
Fired up latest web site on which I work on, F5 and … nothing – dreadfull message of “Internet Explorer cannot display the webpage”.
Ok, no panic here, let try Visual Studio 2008 with same web site; nothing
Same site, on two other development machines (Vista & Vista 64) under VS 2005 and VS 2008 works w/o problem.
Started researching and debugging; it turns out that next generation protocol IPv6, or its implementation on Vista clashes with integrated web server WebDev.WebServer.exe; WebDev has a problem finding localhost address in default configuration.
Easy fix for this is to comment ::1 entry in hosts file:

No restart is needed, either of computer or Visual Studio.
(to edit hosts file you can use notepad started with elevated rigths or “Run as administrator“; in Open dialog you type in %windir%\System32\drivers\etc\hosts)
25.5.2008
Vista,Visual Studio 2005,Visual Studio 2008,Windows
Dejan VesićComments (18)
One of my virtues (or flaws, which many would say
) is that I am (too) organized; one of the favorite principles is “do it once (and right)” – in programming, work and daily activities like entering new contact data (in phone, Outlook or web application / service) – just want to enter it once, in one place and to avoid duplication, merging, copying, version conflicting – all those things when you have one piece of data scattered all around.
Logical place for reference point is mobile phone – mobile phone is now center of daily activities: you are reachable because of it, you have your contacts, notes, calendars and mails in it. However, no matter how big screen and keyboard are (I am proud owner of Nokia E61), it is useful, for many reasons, to have all those data elsewhere:
- Safety reasons – having a backup of your data is always a good thing
- It is easier to transfer all those data to a new phone; replacing a phone is not very often action, but when you need to do that, it is better to be as painless as possible.
- Easier data manipulation; using “real” keyboard and screen is much more comfortable than using phone
- Access it from anywhere – you can access those data even when your phone is not with you
For years, I am using Plaxo service, which is rather good in free version. “Rather” because I had objections from start of using it:
- It is slow; no matter how new versions are published, beta or not beta, web interface is slow and cumbersome. Response from service is generally “wait for it” and user friendliness is not on high level.
- You need computer, with necessary drivers for cable/bluetooth connection with your mobile phone
- You need to have Microsoft Outlook installed; in the era of GMAIL that is obsolete – you do not want to be tied up for one computer or to worry about licenses.
To be fair enough, most of other mobile phone synchronization solutions are far from perfect; even “native” choice for Nokia phone owners, Nokia PC Suite is generally unusable w/o Outlook installed – way and quality of work with data (over Windows Explorer shell integration) simply can not support any major data changes (even if I disregard fact that this package installs bunch of not wanted software and installs itself in system tray which bugs me additionally
).
I found recently ZYB – perfect “little” web service for mobile phone synchronization. Most of objections above are resolved:
- Service is free with very simple registration procedure; number of supported phone models is very large
- Base for synchronization is SyncML technology, supported by major phone vendors
- Setting up phone (at least for Nokia E61) is trivial – accept and save service SMS sent by site
- Middleman is cut out – no computer / Outlook is needed; communication phone < - > ZYB is direct, using GPRS / 3G / Wireless, whatever is available
First synchronization went fast and almost error free; “almost” because I lost tasks from my phone – tasks are treated as calendar entries; most of phones set up due date when entering tasks and ZYB was setup not to synchronize any calendar items older than 7 days; (I reported this as a bug).
So, please do full backup of your phone using “old way” before experimenting
Apart synchronization, ZYB offers other services – import of address book from Gmail, elimination of duplicate contacts and (unavoidable) social component – to connect with people which phones you have and they are also on ZYB (it is unobtrusive option).
Words of warning: service is still in beta and you can expect some unstabillity; also, there is trust issue – do you want to share your private data with some “foreign” site; I decided that I am fine with that, years ago, when I started using Plaxo service. It is up to you to decide for yourself.
Verdict: My recommendation.
5.5.2008
Mobile,Technology,Web
Dejan VesićComments (4)
One nice improvement in Vista is enhanced Task Manager – apart from very good Resource Monitor tool, there are a lot of new attributes which you can select for running processes (View / Select Columns); especially interesting are:
- Image Path Name
- Command Line:

However, Microsoft can make some tasks much complicated that they should be; reasonable expectation is that each standard application (and Task Manager is one – it is part of Windows operating system) supports at least basics of Copy / Paste – getting data displayed in a grid in some text format.
For Task Manager that is not case
– there is no way (to my knowledge) to get displayed data from grid in some text form which you can use later.
Solution for this particular problem (and many other related) is in excellent SysInternals package: ProcessExplorer will display full information about selected process and allow you to copy that info on Clipboard:

Best of all, this nice tool is not tied for any particular Windows version – it will work in Windows 2000, XP or Vista.
4.5.2008
Microsoft,Tools,Windows
Dejan VesićComments (0)
I do not like Apple – consider them elitist company, with way too much hype about design and superiority of their products over any other similar products (implied: Microsoft ones) on the market.
However, geek in me have respect for any well crafted gadget / electronic device / software product, no matter who is manufacturer.
In the series of events (primarily caused by my friend Aleck
) I promised to my wife Maja nice present for her birthday: IPhone.
IPhone arrived couple hours ago; I tried to approach it completely open-minded.
Good – Look and Feel
This symbiotic phone / PDA is beautifully designed – simplicity and combination of materials has stunning effect on anyone who sees it / holds it. Screen is bright and clear; famous multi-touch navigation is intuitive and fast.
Default applications are good, and pleasant to use.
However, IPhone has a long, long way to go in order to be considered (in my opinion) as good business phone for daily usage:
Bad (ITunes)
Primary interface between IPhone and rest of your (mine) Windows based computer is ITunes: multi-mega (57 Mb) bloatware (with nice look of course):
- It tries to hijack anything remotely close to multimedia on your computer
- Synchronisation with Outlook (done with bloatware above) is seriously crippled: no Notes synchronisation and no To-Do list synchronisation
- There is no way to directly access various elements in IPhone (Notes) if needed
Of course, you can find ways around Net to “overcome” obstacles: sending notes as mail to yourself, and reading/copy/paste on IPhone Notes, creating dummy contacts and passing notes in Note field in contacts etc. Would you do that with 50+ notes?
Data entry over screen can be a pain, especially if you have thick fingers; I believe that practice will do, but got annoyed in half hour of trying to enter some Notes.
Ugly – Missing Features
IPhone has NO To-Do lists; To-Do lists are crucial part of my daily GTD process; so, this alone would disqualify IPhone in my eyes; phone is item which is with you most of the time; being unable to enter tasks is big minus.
International support is lousy:
I was unable to enter some Serbian characters (less important) and IPhone itself is unable to recognize phone numbers in international format with country prefix; if you have number in contacts like:
+381 11 1111 1111 ( local format would be 011 1111 1111)
and if that number calls you, you will get just 011 1111 1111 on screen and no name recognised. Suggestions on Net (enter double record for each mobile: one with and one without prefix) are just suggestions
if you have 500+ contacts; my Nokia E61 does both things perfectly.
I understand that Apple just entered phone business and it is primarily oriented toward biggest, western speaking markets (USA) first; that time passed from launch is short; I also understand that if you want genuine well crafted and designed item and do not care too much for problems mentioned (which most of users don’t), IPhone is your best choice.
I am pretty sure that IPhone on phone market will surpass success of IPod at mp3 player market and that will be (pretty justified) most selling phone in history.
However, if you are like me, and you care about functionality as much (or even more) as for design, just wait; I believe that in year time, IPhone will be unbeatable tool for communication and business, and I am ready to wait that; for now, simply skip it – no good.
24.4.2008
Apple,Technology
Dejan VesićComments (4)
One of the my icons of Programming, Internet and in general of my digital life is of course, Dilbert – brilliant creation of Scott Adams.
That is daily dose of geeky humor, sometimes strange, and sometimes it feels like Scott was peeking over your shoulder when he was drawing latest episode of Dilbert.
Unfortunately, this time, Dilbert is a bad example – or to be more precise – current implementation of Dilbert’s site is bad example of technology usage all along.
I like simple, working web solutions (pure Html + Css if possible) – so, “previous” Dilbert as a simple image and archive coming along was fulfilling all my needs; add to it reading via blog and I was more than happy.
That changed with introduction of all-shiny-flashy-flash new version of the site – that changed to a bad
Those pages are now heavy, very heavy, with complex flash objects and what is worse – not working flash objects
You can’t easily search, you can’t easily get your daily dose of geek humor:

This was simple search, and no, parameters are not a problem – if you keep pressing Search button, you will eventually get the list of missing strips; however, getting “big” versions by clicking on found elements is another problem – does not work in most of the cases.
All in all, very bad example of heavy multimedia site – I do not mind for change, but please do basic testing of:
- Is it working?
- Is it working as it is supposed to (search)?
- Can it handle load?
(I won’t get here in a rant why they changed site on this way in a first place; Dilbert’s audience is “special”, so different from average surfer or MySpace visitor; they probably know their market and someone did thorough analysis what new is needed – at least, I hope so).
18.4.2008
Web
Dejan VesićComments (0)
Being a blogger it is fun, most of the time – creating a posts, interacting with visitors via comments, making new friends and getting new skills.
However, there is a big problem: spam, especially track-back spam.
My site is basically 4 installations of brilliant blogging platform – WordPress – so, finding combinations of settings and plugins which would make maintenance of spam as easy as possible was a must. After a lot of trial/error attempts, here is combination which works perfectly:
Aksimet
Aksimet (included in WordPress installation, no need for separate download / install) for regular comment spam. You have to register once at WordPress.Com in order to get Aksimet API key; once done that, you are all set.
Challenge
Challenge – instead of various CAPTCHA mechanism, this proved to be very efficient and less annoying for visitors.
Plugin simply asks basic mathematical questions, in order to check if is on other side of page human or robot (process).
However, warning: it is not compatible with WP-Cache – if you are using this highly effective caching system, you have to choose other options for comment approval.
Simple Trackback Validation Plugin
Finally, for TrackBack validation there is Simple Trackback Validation Plugin – simple and efficient system for fighting trackback spam, which is even worse than usual comment spam.
Time needed for installing and setting up those plugins is well spent time – instead of having 300+ daily spams, now I have 3 – 4 weekly and can dedicate to writing instead of spam fighting
11.3.2008
WordPress
Dejan VesićComments (1)
I am (happily) using Vista 32 bit for a year, both on my home (desktop) computer and on laptop. Both machines are mostly used for development (Visual Studio 2005 & 2008 and Visual Studio 2003 via Microsoft Virtual PC 2007) and usual Office tasks.
One of my tasks on work is to test new technologies – so, I decided that it is time to try new Vista: Vista 64 bit.
Hardware configuration used is pretty much standard one:
Dell Dimension E520 with Intel Core 2 Duo E4300 @ 1.8 Ghz and 2 GB RAM. Graphic card was NVIDIA GeForce 7300 LE.
Installation
Despite all my worries, installation went smoothly (apart for having 150Mb of fixes to download
) – all drivers were found and installed ok:

Basics
Once when all drivers are in place, you need software which will use your new operating system to the max. Most of 32bit software will work w/o any problems, via WOW64 technology, and it will benefit from better memory organization (you can utilize full 4Gb under Vista 64, which is not possible under XP) and more registers availabile.
You do need some native 64bit applications, for example, when mounting ISO image under Vista 64:
Mounting ISO image under Vista 64
While there is plethora of ISO software in 32 bit world (highly recommending Virtual Clone Drive, freeware), things are gloomy in 64 bit world.
Update Aug 2008: Virtual Clone Drive now does support Vista 64! so please use it instead of Daemon Tools.
There are some programs that state 64bit compatibility (MagicISO for example) but only one which proved as working under Vista 64 is Daemon Tools.
However, BIG WARNING – Daemon Tools comes with spyware / searchware! Good part is that you can select NOT TO INSTALL IT – so please do not follow click-click-click install logic but make sure to DESELECT following two options on this screen:

as well as SELECT DECLINE on next screen:

After that, you are fine.
Adding Vista 64 to network domain
There is no magic around this step; I just had little trouble to find right screen for adding computer to domain:
Control Panel -> System or even easier using keyboard shortcut: Win + Break (Pause):

(click for larger image)
Network printing (over HP LaserJet 4100)
There was a bit of a problem setting up network printer (ours is HP LaserJet 4100). There are 64 bit drivers on HP site, but Vista refused to get those installed from network location.
I even tried to fool it by installing ghost LPT1: printer and than to add network one – failed.
Finally, I installed network printer as “local” one, using TCP/IP connection and install program from HP. After that, printing is fine.
Applications
Microsoft Visual Studio 2008 Installation
This was, by far, most frustrating experience
– with number of errors, stating that it can’t install .Net Framework 3.0, than it can’t install Web Authoring Component … all red, and apparently no solution

In despair, I switched to local administrator account and all went fine! So, use your local administrator account when installing Microsoft Visual Studio 2008 on Vista 64 – it is not enough to be member of Administrators group (my initial attempts were with domain user which is member of Administrators group)
Paint.Net is brilliant example of quality program (and it is free) – elegant, efficient and does exactly what is intended for: various tasks around image editing; it is not Photoshop, but I found that I do not need anything “stronger” than Paint.Net – I highly recommend it.
I did not expected any problems with installation; however, I was getting error:
“Another installation is already in progress (Error 1618)” and failed installation; of course I used “Run as Administrator” option over Paint.NET.3.22.exe – that did not help.
Solution: start CMD prompt as Administrator, and run EXE file from there – installation will go smoothly.

QUEST Toad and Oracle
If your target database for applications is Oracle and main development tool Quest’s TOAD make sure to install 32bit Oracle client prior TOAD installation – TOAD does not support connection over native 64bit Oracle client.
Moreover, if you get cryptic error on a first connect:
Can’t initialize OCI. Error -1
make sure that you have correct version of Oracle Client; current good one is 10.2.0.3 Patch2 for Vista
Conclusion
Vista 64 is stable operating system, although it demands bit more of CPU and RAM than Windows XP/Vista 32. It has decent driver base, and if you have more than 2Gb RAM, or your primary application has native 64bit version and/or you are engaged in processing objects which require a lot of memory, it is good OS for you.
For more standard usage, I still recommend staying on Vista 32 or Windows XP – there is a wast support for drivers, software and games all around.
17.2.2008
Installation,Microsoft,Software,Vista
Dejan VesićComments (4)
Next Page »