<

LEGO Turing machine

Keywords: , , , , , , , ,

Turing Top
Turing Middle
Turing Bottom
Here’s a great LEGO based Turing machine, Denis writes -

I chose to implement in Lego a slightly different version of the original Turing machine. Instead of having a bi directional tape, it uses a stack. When the symbol beneath the stack is read (and removed), the machine changes “states” and can add zero, one or two symbols on top of the stack.

This variation is maybe very different yet it is possible to show that this simple machine has the same capabilities than a Turing machine. Among other things, it can emulate a Turing machine placed on the stack.

I programmed a small interface (through an Access database so Microsoft Access must be installed on your computer) to enter an test simple Automaton With Append (AWA or AAA in French). Follow this link to download the demo: AAA.zip.

One reason to build the automaton with append instead of the original Turing machine was that I avoided building a bi directional (near) infinite tape.

Read more | Permalink | Comments |

Read more articles in LEGO |

Digg this!

Here's a great LEGO based Turing machine, Denis writes - I chose to implement in Lego a slightly different version of the original Turing machine. Instead of having a bi directional tape, it uses a stack. When the symbol beneath the stack is read (and removed), the machine changes "states" and can add zero, one or two symbols on top of the stack. This variation is maybe very different yet it is possible to show that this simple machine has the same capabilities than ... Read More

A Sneak Peek at Spore, EA’s Ultra-Web 2.0 Game

Keywords: , , , , , , , , , , , , , , ,

I finally understand why Spore has been delayed for so long. Originally expected for a 2007 release, the simulated evolution game from Electronic Arts (ERTS) studio Maxis was suddenly withheld, much to EA’s chagrin. Maxis head Will Wright explained the delay, saying that the company wanted to make the follow-up to its wildly successful […]

I finally understand why Spore has been delayed for so long. Originally expected for a 2007 release, the simulated evolution game from Electronic Arts (ERTS) studio Maxis was suddenly withheld, much to EA’s chagrin. Maxis head Will Wright explained the delay, saying that the company wanted to make the follow-up to its wildly successful Sims franchise more accessible. That turns out to be an understatement, as I found out yesterday at an advance press peek hosted at Maxis’ Emeryville, Calif. office. ... Read More

Zoomable Coma Cluster

Keywords: , , , , ,

The Hubble site has just released an incredible zoomable image of the Coma Cluster. (Wow! You can also download images to make a mural!)

The entire cluster encompasses a spherical shape more than 20 million light-years in diameter, more than 300 million light-years from Earth in the northern constellation Coma Berenices. Hubble’s mega-view takes in a scene several million light-years across, about a third of the way out from the cluster’s center.

Via

Read more | Permalink | Comments |

Read more articles in Kids |

Digg this!

The Hubble site has just released an incredible zoomable image of the Coma Cluster. (Wow! You can also download images to make a mural!) The entire cluster encompasses a spherical shape more than 20 million light-years in diameter, more than 300 million light-years from Earth in the northern constellation Coma Berenices. Hubble's mega-view takes in a scene several million light-years across, about a third of the way out from the cluster's center. Via Read more | Permalink | Comments | Read more articles in ... Read More

Venture Capitalists Hot About iPhone Startups

Keywords: , , , , , , , , , ,

If last year saw the venture capital community chasing startups building around the Facebook platform, this year the new new thing are iPhone application makers. In addition to the $100 million iFund floated by Kleiner Perkins Caufield & Byers, other VCs are getting in on the action.
We recently covered Pelagao, which raised $15 Million […]

If last year saw the venture capital community chasing startups building around the Facebook platform, this year the new new thing are iPhone application makers. In addition to the $100 million iFund floated by Kleiner Perkins Caufield & Byers, other VCs are getting in on the action. We recently covered Pelagao, which raised $15 Million from iFund, Reliance Communications and T-Mobile’s Venture Fund. Union Square Ventures and First Round Capital recently invested an undisclosed amount in New York City-based Pinch Media. Add ... Read More

Storing BizTalk settings in custom configuration file using Enterprise Library

Keywords: , , , , , , , , ,

Choice of configuration settings storage is an important topic when it comes to enterprise BizTalk application planning. One of the many options is to use regular .Net configuration files. Some prefer this way over the Enterprise SSO database option for reasons of simplicity and familiarity. I wanted to show how it can be done with Microsoft Enterprise Library configuration application block.

In this case Enterprise Library configuration section is placed in the BTNTSvc.exe.config file while application settings are stored in a separate configuration file. The problem here is how do we make EntLib to load required settings file at runtime.  Its done by simple helper class CustomSettings that looks up registry entry for the location and name of the application configuration file and creates FileConfigurationSource with it. The registry entry can be created  by MSI installation package.

The initialization method of this static helper class looks like this (thread synchronization code omited for brevity):

          RegistryKey regKey = null;

          try
          {
             regKey = Registry.LocalMachine.OpenSubKey(@”Software\MyCompany\MyApplication”);
             configurationFile = Path.Combine(
             (string)regKey.GetValue(“ConfigDir”),
             (string)regKey.GetValue(“ConfigFile”));

              ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
              fileMap.ExeConfigFilename = configurationFile;
              configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
              configurationSource = new FileConfigurationSource(configurationFile);

              //- store configPath in the settings
              configuration.AppSettings.Settings.Add(
              new KeyValueConfigurationElement(“configDir”, (string)regKey.GetValue(“ConfigDir”)));
           }
           catch (Exception ex)
           {
              Debug.WriteLine(“Exception while initializing Settings:” + ex.ToString());
              throw ex;
           }
           finally
           {
              if (regKey != null) regKey.Close();
           }

 Then it has method to access properties by name:

        public static string GetValue(string name)
        {
            KeyValueConfigurationElement entry = Configuration.AppSettings.Settings[name];

            if (entry == null)
                throw new ConfigurationErrorsException(“Key ‘” + name + “‘ is not found in the configuration file.”);

            return Configuration.AppSettings.Settings[name].Value;
        }

 Which is used as in:

string propertyValue = CustomSettings.GetValue(“propertyName”);

 


Choice of configuration settings storage is an important topic when it comes to enterprise BizTalk application planning. One of the many options is to use regular .Net configuration files. Some prefer this way over the Enterprise SSO database option for reasons of simplicity and familiarity. I wanted to show how it can be done with Microsoft Enterprise Library configuration application block. In this case Enterprise Library configuration section is placed in the BTNTSvc.exe.config file while application settings are stored in a separate configuration file. The problem here ... Read More

Windows CE: Reading a String from the Registry

Keywords: , , , , ,
I made a change to a string value in the registry recently. That seemed like a harmless thing to do, didn’t it? But, what I did was make the string longer than it was before, again seemed harmless.  Harmless until some applications started reading the value into arrays with hard coded length, the problems began.
So the following function reads a string from the registry by getting the string length first, then allocating a buffer, then reading the string:
TCHAR *ReadRegString( HKEY RootKey, TCHAR *Path, TCHAR *ValueName )
{
                TCHAR *ValueString = NULL;
                DWORD Result;
                HKEY hKey;
                DWORD NumBytes = 0;
                DWORD Type;
 
                // Open the Registry Key
                Result = RegOpenKeyEx(RootKey, (LPCWSTR)Path, 0, 0, &hKey);
 
                if( ERROR_SUCCESS == Result )
                {
                                // This is a fake read, all it does is fill in NumBytes with the number of
                                // bytes in the string value plus the null character.
                                Result = RegQueryValueEx( hKey, (LPCWSTR)ValueName, NULL, &Type, NULL, &NumBytes );
                                if( NumBytes > 0 )
                                {
                                                // Now we know how big the string is allocate and read it
                                                ValueString = (TCHAR *)malloc( NumBytes );
                                                if( ValueString != NULL )
                                                                Result = RegQueryValueEx( hKey, (LPCWSTR)ValueName, NULL, &Type, (LPBYTE)ValueString, &NumBytes );
                                }
                                RegCloseKey( hKey );
                }
                // Potentially leak the string, it is up to the caller to free the memory
                return ValueString;
}
 
Example call to ReadRegString:
TCHAR *EventName = ReadRegString( HKEY_LOCAL_MACHINE, TEXT(”SYSTEM\\GWE”), TEXT(”ActivityEvent”) );
 


I made a change to a string value in the registry recently. That seemed like a harmless thing to do, didn’t it? But, what I did was make the string longer than it was before, again seemed harmless.  Harmless until some applications started reading the value into arrays with hard coded length, the problems began. So the following function reads a string from the registry by getting the string length first, then allocating a buffer, then reading the string: TCHAR *ReadRegString( HKEY RootKey, TCHAR *Path, TCHAR *ValueName ... Read More

Game Development Bug

Keywords: ,

I’m pretty sure that every day this summer I’ve devised some new project to work on and then never really get going on any of them.  I need super motivation/dedication.  First there was a Half-Life mod, then a Doom 3 mod, then the new InsideGamer, then a machinima, and finally VEX.  None of which I plan on dedicating myself to doing.  I’ve really been working on understanding some game development things so I’m planning on implementing new stuff in the Scary Dwarves demo.  Hopefully that will get some audio, and some inheritance methods of having character objects, allowing me to have a 3rd person view and a playable character which will show off the lighting much better.  There’s not a whole lot I want to plan on adding in case I don’t actually do any of it.  Unfortunately I don’t have a lot of time since I work during the week but I should probably cut back on my Rock Band and WoW time (although I may get a real drumset tomorrow…)


I'm pretty sure that every day this summer I've devised some new project to work on and then never really get going on any of them.  I need super motivation/dedication.  First there was a Half-Life mod, then a Doom 3 mod, then the new InsideGamer, then a machinima, and finally VEX.  None of which I plan on dedicating myself to doing.  I've really been working on understanding some game development things so I'm planning on implementing new stuff in the Scary Dwarves ... Read More

Microsoft Offline Virtual Machine Servicing Tool

Keywords: , , , , ,

As we use more and more virtual machines, particularly for development, there is a risk because they don’t get updated by pushing critical security or virus updates and then they are fired up six months later we can have a security problem.

Microsoft has a solution for their virtual machine environment adding to the virtual machine management tooling -  the Offline Virtual Machine Servicing Tool. This turns on your VMs, updates them and shuts them down automatically.  You can find information about getting on the Beta at the link below.

Get it here


As we use more and more virtual machines, particularly for development, there is a risk because they don't get updated by pushing critical security or virus updates and then they are fired up six months later we can have a security problem. Microsoft has a solution for their virtual machine environment adding to the virtual machine management tooling -  the Offline Virtual Machine Servicing Tool. This turns on your VMs, updates them and shuts them down automatically.  You can find information ... Read More

Setting Up Rails Development Environment on Windows Vista/XP

Keywords: , ,

There are different ways in which you might want to set up a complete development environment for Ruby on Rails on a Windows machine. The howto covers how to setup Rails on a Windows machine using Ruby, RubyGems, Rails, Mongrel, MySQL, NetBeans and Subversion as part of the development stack.

There are different ways in which you might want to set up a complete development environment for Ruby on Rails on a Windows machine. The howto covers how to setup Rails on a Windows machine using Ruby, RubyGems, Rails, Mongrel, MySQL, NetBeans and Subversion as part of the development stack. Read More

Why Cloud Computing Needs Security

Keywords: , , , , , , , , , , , , , , , ,

Startups, unable to bear the brunt of online criminal activity, could start looking to cloud computing — the providers of which have the capacity and infrastructure to survive an attack — for salvation. The clouds, however, are going to have to step up their game.

Bribery, extortion and other con games have found new life online. Today, botnets threaten to take vendors down; scammers seduce the unsuspecting on dating sites; and new viruses encrypt your hard drive’s contents, then demand money in return for the keys. Startups, unable to bear the brunt of criminal activity, might look to the clouds for salvation: After all, big cloud computing providers have the capacity and infrastructure to survive an attack. But the clouds need to step it up; otherwise, their single ... Read More