Home Account Search
New server(s)
A little bit of downtime people as I ahve just moved servers.
happy xmas and also new things to report
x2codecreatin is makin more and more strives in the ai arena
Running your C# application without .NET framework
Afternoon guys, Just a quick post about x2codecreatives new application hardening services. We can take any .NET application, improve its memory and CPU footprint, compile it into native or machine code, and reduce the installation size. So your .NET application can run on any machine, irregardless of wether the .NET framework is installed. An example would be: A WPF application, communicating to a WCF Web Service runningon a discrete TCP port. Your thinking its impossible to get that to run with no .NET framework? Your wrong. We have optimized and deployed applications such as Windows Services, ASP.NET web applications and COM-exposed managed assemblies to clients running Windows 98. We can also take your .NET application and get it to run on a legacy machine low memory and CPU resources. Impressed? Just contact us. Running .NET application without .NET framework
Free open source asp.net ecommerce web cart software
As part of our drive to make code more creative, we have launched several open source initiatives. One of these is our open source ecommerce software. Check it out here: Free open source ASP.NET ecommerce software
DOTNUTSHELL no more. Its x2code creative

Yep!. It's http://www.x2codecreative.com

Manchester's finest software development establishment

expenio.com
x2codecreative as we are known now, have been busy over the last few months developing http://www.expenio.com/. Its a new colloborative media sharing website, allowing you to post music and video, and games and documents as well as have the abilioty to make money form the revenue generated. check http://www.expenio.com/


Web 2.0 Ajax projects

DOTNUTSHELL is contantly working with clients to create feature rich, database driven websites using the current leading technologies:

Here is one project our developers have worked on:

 

2.jpg

 

 

The project used current AJAX techniques and frameworks to create a rich and responsive user interface for businesses using the BusinessWise intranet portal.

Silverlight 2 work
REMOVED
What has DOTNUTSHELL been up to?

I was recently asked to describe what WellStart is all about at a technical level:

Removing the need for desktop databases in high performance software systems by using bleeding edge object relational mapping techniques and .NET technologies to store and optimise data collections in memory.
 
Data management tasks in object-oriented (OO) programming are typically implemented by manipulating objects, which are almost always non-scalar values. For example, consider an address book entry that represents a single person along with zero or more phone numbers and zero or more addresses. The problem is, that we need fast access to large collctions of object without effecting the integrity of the data coming back, which simply canot be done with a standard SQL databases, so WellStart introduces a new database engine which stores collections in memory, and then wraps an SQL-like layer around these collecions dramatically speeding up access to the data while maintaining integrity on the objects.
 
WellStart also introduces selective persistence. In programming, persistence refers specifically to the ability to retain data structures between program executions, either at the interface level (i.e the GUI) and the data level (i.e database). WellStart's persistence engine relies on the ability of the aplication to selectively infer (as in implicitly be able to tell) which objects in the datastore require updating, even before they have been created, by inspecting the business logic. This reduces the execution overhead because only objects whch are more likely to require upating are updated and execution code is generated for these updates.

Some screen shots of WellStart:

wellMain.jpg

Media wall:

mediaWall.jpg

Graphing module:

wellGraph.jpg

WellStart also introduces new technologies which mesh interpreted languages with native languages, allowing applications to utilse a rich user interface while still using standard system calls and services at the the lowest level to keep applications efficient.

This means that WellStart implements a strict version of model view controller, where each logicial layer is seperated into very logical partitions, allowing us to plug different business layers into the application without having any noticable effect on the user interface and its interaction. It also introduces a new data exhange mechanism which dynamicaly converts compiled cass types into types which can be used directly by ActionScript.

Advanced Software Development

Silverlight 2 - Get the host address of the site hosting a XAP

More C# Silverlight 2 tidbits.  

 

 public string GetHost()

        {

            string domain = string.Empty;

            try

            {

                string htmloc = HtmlPage.Window.Eval("window.location.href;") as string;

                domain = htmloc.Replace("http://", String.Empty);

                if (domain.Contains("/"))

                {

                    domain = domain.Substring(0, domain.IndexOf("/"));

                }

            }

            catch

            {

               return string.Empty;

            }

            return domain;

        }

 

This returns the host name of the hosting website.

 

Custom software development

Silverlight 2: Dynamically loadng a XAP

Here is a little method which will dynamically load a XAP and instantiate a class inside it, This is especially useful for a custom Silverlight loader.

Custom Software Development

public static object CreateFromXAP(Stream package, string objectTypeName, string mainass)

{

// Extract the AppManifest from the XAP package

string appManifestString = new StreamReader(

System.Windows.Application.GetResourceStream(

new StreamResourceInfo(package, null),

new Uri("AppManifest.xaml", UriKind.Relative)

).Stream).ReadToEnd();

// Use the XamlReader to parse the AppManifest into managed objects

//var deployment = System.Windows.Markup.XamlReader.Load(appManifestString);

 

XElement deploymentRoot = XDocument.Parse(appManifestString).Root;

IList<XElement> deploymentParts = (from assemblyParts in deploymentRoot.Elements().Elements()

select assemblyParts).ToList();

 

// Keep track of the main assembly,

// we'll assume that the element to create is located here.

Assembly mainAssembly = null;

// Walk all of the assemblies and load them into the CLR.

// This will load any dependent assemblies.

foreach (XElement xElement in deploymentParts)

{

string source = xElement.Attribute("Source").Value;

AssemblyPart asmPart = new AssemblyPart();

StreamResourceInfo streamInfo = System.Windows.Application.GetResourceStream(

new StreamResourceInfo(package, "application/binary"),

new Uri(source, UriKind.Relative));

Assembly assembly = asmPart.Load(streamInfo.Stream);

if (assembly.FullName.Split(',')[0] == mainass)

mainAssembly = assembly;

}

// Create a new instance of the object from the main assembly

Type objectType = mainAssembly.GetType(objectTypeName);

return Activator.CreateInstance(objectType);

}

Silverlight 2 : Get the Height and Width of a dynamically loaded image

This should help you all. SL won't know the dimensions of an image until its fully downloaded and rendered.

Have it!!

  Uri path = new Uri(“YOUR URL”, UriKind.Absolute);

            BitmapImage bitmapImage = new BitmapImage();

            bitmapImage.UriSource = path;

            bitmapImage.DownloadProgress +=

                new EventHandler<DownloadProgressEventArgs>(bitmapImage_DownloadProgress);

 

                        yourImage = new Image();
            yourImage.Source = bitmapImage;
 
void bitmapImage_DownloadProgress(object sender, DownloadProgressEventArgs e)
        {
            if (e.Progress == 100)
            {
                Dispatcher.BeginInvoke(delegate()
                {
                   GetSizes();
                });
            }
        }
 

 

void GetSizes (){
    double height = yourImage.ActualHeight;
    double width = yourImage.ActualWidth;
          
}
Custom Software Development Company
 
Silverlight 2 launched and loaded

Microsoft finally launched Silverlight 2.

Its actually a really solid platform.

 

Don't forget that DOTNUTSHELL do Silverlight Custom Software Development

FREE SEO reports which should help new websites with initial SEO stuff

We at DOTNUTSHELL are a nice bunch. We believe in giving. So, our SEO services, and initial report and consultation are now free.

Have a look on the DOTNUTSHELL site here: Free SEO Tips and Report

eCommerce Software

Just a quick note to observers that the ecanecommerce site is being updated as ecan ecommerce is maturing to a state that we can start shipping the lite version, as well as the managed and bespoke version.

More can be found here: eCommerce Software.

Anonymous delegates for localised implementations with a return value

So, you have a localised code block, in a foreach statement and you wish to use anonymous methods to structure the code elegantly.

Here is how:

//define your delegate with your return type:

delegate System.Collections.Generic.List<String> ListOfStrings();

var data =  new System.Collections.Generic.Dictionary<String, System.Collections.Generic.List<String>>();

//the above will define your dictionary

data.Add("myself"), new ListOfStrings(

delegate{

System.Collections.Generic.List<String> result = new System.Collections.Generic.List<String>();

result.Add("child1");

result.Add("child2");

result.Add("child3");

return result;

}

).Invoke());

Software Development Services

Lambda and other such like interesting code snippets

Up until now, we have relied on defined delegates and anoymous delegates to do the brunt of work when it comes to isolated code blocks which are repetitive but localised to a method. But with C# 3.0, we are provided with Lambda expressions aswell.

 

You can find software coding samples here.

Extension methods in C#

You cna find the full post on my software development homepage.

 

Extension methods are a new feature added to the C# specifiation. They allow you to dynamically add methods to classes from the context of your own application. It is especially usefull for code re-usability and keeps messy static and instance oriented functions to their variable scope.

An example would be to add a regular expresion extension directly to the string class.

VB.NET - Working out wether your process window is topmost and has focus

There isn't much on the Internet about this,

so thought I would ost this smidge of information:

Private Declare Function GetForegroundWindow Lib "user32" () As IntPtr

Private Function IsFromMe() As Boolean

Dim lngPid As Integer

Dim MyProc As Integer

Try

MyProc = System.Diagnostics.Process.GetCurrentProcess().Id

Dim window = GetForegroundWindow()

GetWindowThreadProcessId(window, lngPid)

 

Dim item = GetFocus()

'' System.Windows.Forms.MessageBox.Show(lngPid.ToString())

Catch ex As Exception

'' System.Windows.Forms.MessageBox.Show(ex.Message)

End Try

If MyProc = lngPid Then

Return True

Else

Return False

End If

End Function

 

Rapid software development

Google Chrome

Wow. I am  no lover of Google, but Chrome is a breath of fresh air. Its fast and speedy and for a developer, its Javascript debugging is just awesome. Its actually a very neat browser.

I read an interesting piece on it which I have posted on DOT's website.

You can find it at 'Google Chrome as a Cloud OS'.

I think anyone with a brain cell should download a copy now.

Impressive stuff Google.