Going Green, Sustainable Design that Inspires – Project H

This is the interview of Emily Pilloton, the founder and executive director of Project H Design. She was awarded a grant by the Adobe Foundation to support work on her new book Design Revolution: 100 Projects That Empower People.

Find out more about her work :Project H Design

Creating a Strategic Portfolio for you Business

A strategic portfolio management is the process of generating, managing and evaluating a portfolio of strategic proposals focused on delivering long-term results and benefits. Its objective is to manage the portfolio with the constant evolution of the strategy of the business, and maximize value from business investments.

The business’s strategic purpose and its portfolio of initiatives are very much interconnected, and drive one another. Defining the strategic objective of the organization shapes the foundation on which a portfolio of proposals can be established. The results and benefits that arise from the portfolio serve to carry the strategy, and make it possible to assess the efficiency of the strategy and proposals in delivering value for the business.

Often businesses underestimate the significance of maintaining a portfolio of their change proposals. Strategic portfolio management, applied well, will:

  1. Provide the essential link between the realization of the business strategy and key strategic initiatives to ensure congruency.
  2. Provide a prioritization of strategic initiatives that best achieve the targeted changes within budget and time constraints.
  3. Provide a strong link between strategic development, investment decision-making, business planning and delivery activities.
  4. Provide a cross-organizational approach to managing the risks, capabilities and resourcing issues arising from the interdependencies of the proposals.
  5. Provide the senior management the ability to direct and manage a portfolio of programs, implementing the corporate objectives and strategy within a dynamic environment.
  6. Provide focus on strategic initiatives rather than project inputs, and use performance measures and reporting based on benefits realization, rather than direct program deliverables/metrics.
  7. Prevent poor return on investment on programs and projects that do not support the overall strategy of the organization.

How can universally unique primary keys can be generated ?

The generic solution is to generate a 32 digit key, encoded in hexadecimal composed as follows:

1: Unique down to the millisecond. Digits 1-8 are the hex encoded lower 32 bits of the System.DateTime.Now.Millisecond() call.

2: Unique across a cluster. Digits 9-16 are the encoded representation of the 32 bit integer of the underlying IP address.

3: Unique down to the object in C#. Digits 17-24 are the hex representation of the call to Object.GetHashCode(), which is guaranteed to return distinct integers for distinct objects within a C#.

4: Unique within an object within a millisecond. Finally digits 25-32 represent a random 32 bit integer generated on every method call using the cryptographically strong System.Security.Cryptography namespace.

Action Message Format – AMF 3

AMF is a binary protocol data transfer client server applications used by some Adobe Flash. The optional Adobe Flex / AMF (Action Message Format) to test support applications programmed with Adobe Flash technology Adobe Flex and using the application protocol AMF.

There are several variants of the binary AMF protocol:

AMF0: this version is used in Flex applications programmed in ActionScript 1.0 and 2.0.

AMF3: Adobe introduced the protocol very close to AMF0 from ActionScript 3.0. This protocol allows the exchange of objects created by the developer of the application between the client and server.

The following video show the performance of AMF.

For more information: AMF 3.0 Specification

Custom Skin/Chrome for Adobe AIR Application(s)

This is a nice tutorial from Ryan Stewart which shows how to create custom chrome for your Adobe AIR applications.

Enjoy !

Reading and Writing Window Registry in C#

Since its introduction in Windows 95, the registry has more often than not intimidated developers. The registry acts as a central repository of information for the operating system and the applications on a computer. When you store information in the registry, choose the appropriate location based on the category of information being stored.

Here is how to write and read from the registry using C#.

// i.e : string  myValue = readFromRegistry("Software\\Myapp","TheKey","TheValue");
       public static void saveToRegistry(string subkey, string key , string value) {
            // Save user prefs to reg.
            RegistryKey regKey = Registry.CurrentUser;
            regKey = regKey.CreateSubKey(subkey);
            regKey.SetValue(key, value);
        }

// i.e : string  myValue = readFromRegistry("Software\\Myapp","Thisthekey");
        public static String readFromRegistry(string subkey, string key){
            // Retrieve user prefs from reg
            RegistryKey regKey = Registry.CurrentUser;
            regKey = regKey.CreateSubKey(subkey);
            return (string)regKey.GetValue(key, "");
        }

Find out more :MSDN Microsoft

Indenting XML using C#

There are times when you need to display an XML string to be able to view in a good format.


// Pretty XML format with consistant indentation.

public static String prettyXMLPrint(String XML)
{
	String Result = "";

	MemoryStream msStream =  new MemoryStream();
	XmlTextWriter xmlWriter = new XmlTextWriter(msStream , Encoding.Unicode);
	XmlDocument xmlDocument   = new XmlDocument();

	try
	{
		// Load the XmlDocument with the XML.
		xmlDocument.LoadXml(XML);

		xmlWriter.Formatting = Formatting.Indented;

		// Write the XML into a formatting XmlTextWriter
		xmlDocument.WriteContentTo(xmlWriter );
		xmlWriter.Flush();
		msStream.Flush();

		// Have to rewind the MemoryStream in order to read
		// its contents.
		msStream.Position = 0;

		// Read MemoryStream contents into a StreamReader.
		StreamReader sReader = new StreamReader(msStream);

		// Extract the text from the StreamReader.
		String FormattedXML = sReader .ReadToEnd();

		Result = FormattedXML;
	}
	catch (XmlException)
	{
	}

	msStream.Close();
	xmlWriter .Close();

	return Result;
}

General Electric (GE) Smart Grid Augmented Reality -

Augmented reality (AR) is a term for a live direct or indirect view of a physical real-world environment whose elements are merged with (or augmented by) virtual computer-generated imagery – creating a mixed reality. The augmentation is conventionally in real-time and in semantic context with environmental elements. GE Smart Grid Augmented Reality makes great use of FLARToolKit and PV3D to produce a digital hologram of Smart Grid technology.

GE Smart Grid

Adobe – Multi-touch Demos in Adobe AIR 2 and Flash Player 10.1

This is a cool demo by Kevin Lynch which presents multi-touch and “gestures” capabilities on the HP TouchSmart using Adobe AIR 2 and Adobe Flash Player 10.1.

What Is Six Sigma ?

SIX SIGMA:

A complete and flexible system for accomplishing, sustaining and exploiting business success. Six Sigma is driven by close understanding of customer needs, disciplined use of facts, data, and statistical analysis, and assiduous attention to managing, improving, and reinventing business processes.

The types of “business success” you may attain are broad because the established benefits of the Six Sigma “system” are diverse, including :

  1. Cost reduction
  2. Productivity improvement
  3. Market-share growth
  4. Customer retention
  5. Cycle-time reduction
  6. Defect reduction
  7. Culture change
  8. Product/service development

For more information : http://en.wikipedia.org/wiki/Six_Sigma

Manage your projects online : http://projects.greendesignhq.com/