Sunday, May 30, 2010

All your base are belong to us - Wikipedia, the free encyclopedia

Another display of just how awesome can some companies be...

All your base are belong to us - Wikipedia, the free encyclopedia: "On June 1, 2006, the video hosting website YouTube was taken down temporarily for maintenance. The phrase 'ALL YOUR VIDEO ARE BELONG TO US' appeared below the YouTube logo as a placeholder while the site was down. Some users believed the site had been hacked, leading the host to add the message 'No, we haven't been hacked. Get a sense of humor.'[7]"

Modifying a sharepoint workflow while it's running - Stack Overflow

Here is a testimonial that, with only simple changes in the workflow that do not affect the serialization of it, workflow assemblies can be simply replaced by copying over the new version.

Modifying a sharepoint workflow while it's running - Stack Overflow

Something to play with next week.

Versioning long running workfows part 1 - The Problem Solver

Versioning the long running workflows seems to be the way the workflows get upgraded nowadays. While there still might be an option to "modify workflows on the fly" (whatever that means, in fact), it may as well be too cumbersome and tedious to implement.
Versioning the workflows and WCF message routing seem to be the preferred way. Here is a series of articles on the topic. This series works on the Workflow Foundation 1 (.Net 3.5) but should be applicable today. Keep in mind there is WCF routing available today to help with the transition between the two workflow versions.

Wednesday, May 26, 2010

jQuery and session

How to get Session value in jquery method? - Stack Overflow
In this Stack Overflow discussion there is an example on how to communicate from client-side JavaScript (jQuery) and server-side code. The application of this is to exchange values from ASP.NET session, which are not directly available to JavaScript.
This is a neat way to store and retrieve values in the Session if you don't mind the extra traffic.

Effectively, this is what you do...
Server side:
using System.Web.Services;
public static string GetSession()
return Session["CoBrowse"].ToString();
then call this method client side using jQuery:
type: "POST",
url: "./Default.aspx/GetSession",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(result){
('input[type=text],select,input[type=checkbox],input[type=radio]').attr('disabled', result.d);

Or, alternatively, you could use the simpler jQuery call:

$.post(url, data, callback, type)


Unfortunately, the approach above does not really work in my environment. After reading about a few more cases I'm inclined to put my faith in cookies. That solution seems to work better as a media for client-server information exchange.
When using cookies, however, pay attention on the Path value. If you are redirecting from one page to another, you have to use '/' as the cookie path.

$.cookie('MyPhoto_SelectedTab', 'yo, mate', { path: '/' } );
top.location = 'http://' + + '/MyPhotos/photos.aspx';

Tuesday, May 25, 2010

Workflow Correlation

I've just spent heaps of time trying out different combinations for making correlations work in Workflow Foundation. To make long story short - it turns out I was passing the Id value, WITH double-quotes included, to the next Receive activity. What a stupid mistake. Nothing was wrong with any of the workflows nor the correlations in the first place. Phew!

Monday, May 24, 2010

Customize the Windows 7 “Send To” Menu Option

Customize the Windows 7 “Send To” Menu Option
Things have changed a bit with Windows 7 but essence is the same. The way to access "Send To" Windows Explorer context menu is to type "shell:sendto" in the address bar. Then, as usual, put your script, link, or other stuff in there.
Very useful for "start web server here" script.

Cool Text: Logo and Graphics Generator

Cool Text: Logo and Graphics Generator
Here is a great graphical tool for the web. Offering free service, heaps of effects, you can create your logos, fonts, buttons, and other graphical elements to use in visual presentations. Whether you're after a quick 3D button or a fancy looking logo, with this site you'll get that (and more) in a few seconds.

Hey, Scripting Guy! Blog : How Can I Switch Between Using a Proxy Server and Not Using a Proxy Server?

Hey, Scripting Guy! Blog : How Can I Switch Between Using a Proxy Server and Not Using a Proxy Server?
Here's an addition to the script that enables access to the network details setting. Now, the script on the linked page will disable proxy, saving some time in going manually to the setting page and deselecting the check box.

A log4net Realtime Color Console for ASP.NET - CodeProject

A log4net Realtime Color Console for ASP.NET - CodeProject
My favorite log4net monitor window. This application is a simple log4net message receiver with a console window, where the messages are displayed as they come in, and in color.
This is great if you want to debug/trace what is going on with the application. It opens an endpoint, which is configurable in the settings.
The client application, the one sending the log4net messages, configures the endpoint at its end and then uses the console window as one of the providers.
I love this one.

Edit: There are issues with this approach on Windows 6.1 (7, 2008 R2). These systems come with IPv6 enabled and log4net (current binaries) do not support this scenario. I have a custom build with the code fixed. Actually, the code is committed to log4net source repositories but the build has not been updated.
However, I can't use my custom build because libraries like Sharp Architecture (for NHibernate) come with the official log4net build that has a different signature. Another puzzle to solve.

Sunday, May 23, 2010

‘Open Command Window Here’ in Windows 7

Windows 7 has a great feature. Hold Shift and right-click on or in a folder to display context menu with the option to ‘Open Command Window Here’.

Removing Full Text Catalog .ndf File from Database

Don’t know how but one of my databases ended up having one extra file (.ndf) which, apparently, contained full-text index. Since I don’t need that and I’m sure it was not there originally, I decided to amputate it from the database. To do this, I had to do the following:

  1. Remove full text catalog from Database > Storage > Full Text Catalogs in Management Studio.
  2. Run
    use DatabaseName dbcc shrinkfile('ftrow_DatabaseName_Catalog', EMPTYFILE)

    alter database DatabaseName remove file ftrow_DatabaseName_Catalog

This removed the .ndf file from the database storage files.

Saturday, May 22, 2010

Thursday, May 20, 2010

Font Preview - Google Font Directory

Font Preview - Google Font Directory
Google's speeding ahead with adoption of web fonts. Here is a preview!

Sharp Architecture - S#arp Architecture

Sharp Architecture - S#arp Architecture: "Pronounced 'Sharp Architecture,' this is a solid architectural foundation for rapidly building maintainable web applications leveraging the ASP.NET MVC framework with NHibernate. The primary advantage to be sought in using any architectural framework is to decrease the code one has to write while increasing the quality of the end product. A framework should enable developers to spend little time on infrastructure details while allowing them to focus their attentions on the domain and user experience."

Tuesday, May 18, 2010 - Windows Live - Windows Live

dotNet cleanup tool should sort out my problems with installing service packs and dot Net frameworks...

Thursday, May 13, 2010

Pidging 2.7.0 - GTK+ Installation Problem

Pidging has just updated to version 2.7.0 and it is built with a different version of GTK+ library. The auto-download during installation process does not (yet) work.
You can download the GTK+ library from here. Just select the and extract the dlls from bin directory into your Pidgin installation directory.

Tuesday, May 11, 2010

High Scalability - How will memristors change everything?

High Scalability - High Scalability - How will memristors change everything?
Memristors - amazing thing that could change everything about IT (and lots of other things along).
Watch the presentation (The Missing Memristor) - here.

join diaspora

join diaspora
Worth looking into.

Saturday, May 01, 2010

NaviComputer FAQ

NaviComputer FAQ
I've been playing with different GPS applications over the past period. Can't seem to find one that would have all the cool features. The great features are scattered around different apps. Some of those features are:
- ability to use multiple sources (OpenStreetMap, Google, Yahoo, Microsoft, maps, satellite images...);
- tracking options - ability to save location and/or path;
- correct GPS location;
- search;
- navigation.

So far, NaviComputer seems to have most of the features above. There is no search but it can store paths and points. It is also configurable to use different providers but not all providers can be added because of the coordinates number format.
I'm still experimenting but this application seems to be the best so far. I've also looked at Mobile GMaps (has multiple providers), OpenStreetMap (caches maps), Google Maps (has search and navigation), iGo (has almost all of the above), Global Navigator (caches maps but to update a tile the whole cache has to be erased).


HttpFox :: Add-ons for Firefox
Another great add-on for Firefox. This one analyzes all the HTTP traffic and will display URLs, content of the requests (GET, POST, etc.), response, headers... Beautiful.

Esmertec Jbed Install on SD - xda-developers

Esmertec Jbed Install on SD - xda-developers
I've finally found a Java Virtual Machine that works amazingly well on Windows Mobile. It is Esmertec's Jbed. The version that installs on the flash card (as opposed to the device's memory) can be found on XDA Developers forum.
Now Mobile GMaps has file access.

The Eve Virtual Machine

The Eve Virtual Machine
Free Java Virtual Machine for PocketPC.
I'm looking to enable file access support for Mobile GMaps but the instructions are outdated and IBM's J9 JVM is not available for free download anymore. Let's try this one.