Bespoke Systems Blog http://blog.bespokesystems.net Android, cloud, .NET, EA, SOA posterous.com Wed, 20 Apr 2011 05:31:00 -0700 Visual SNP Chip of Prominent Bloggers (and me) http://blog.bespokesystems.net/visual-snp-chip-of-prominent-bloggers-and-me http://blog.bespokesystems.net/visual-snp-chip-of-prominent-bloggers-and-me

There're a lot of good genetics, genomics, and DTC testing bloggers out there and some have released their SNPs in the public domain. As I update the usability of of Visual SNP Chip, I figured a few 50k pngs of some of them would be interesting to look at (plus mine). 

The images are all of the same 50k chunks (the default setting), nothing larger (though one can take a larger chunk to view), and there's a combo of the v3 and v2 23andMe chip data (that's1m snps for the v3, vs the v2 600k snp max) so it's not exactly overlapping ranges.

In order, Aerts, Barrett, Chinoy, Fisher, Jostins, Khan, MacMillan, Morley, Pickrell, Plagnol, and Vorhaus.

Visual SNP Chip works by reading a local 23andMe dataset and rasterizing the SNP pairs into colored pixels. It uses HTML5 techniques to never send the 23andMe dataset over the internet and does all rendering on your own computer. (read more about Visual SNP Chip ...) The prominent bloggers have all graciously put their 23andMe datasets online under the Creative Commons 0 License, and I used those public datasets to make the images above.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Sun, 10 Apr 2011 22:56:00 -0700 DNA Day - Early! 23andMe Sale http://blog.bespokesystems.net/dna-day-early-23andme-sale http://blog.bespokesystems.net/dna-day-early-23andme-sale

23andMe is celebrating DNA Day (04/15) early with a sale!

Tomorrow, they're waiving the $199 fee when you sign up for their $9/mo service. Take advantage of it!

 

 

Celebrating DNA Day Early This Year!
Although DNA Day is officially April 15th, we at 23andMe just couldn’t wait that long. So we’re celebrating a bit early with a big sale! 

For a limited time, you can order a 23andMe kit for $0 up front, plus a 12-month commitment to our Personal Genome Service® at $9/month. This is down from the regular price of $199 plus $9/month. 

Note that the 12-month subscription commitment is required to receive the sale price. If you buy the service as a gift, you can pay the full year's subscription at the time of purchase. You may also choose to order the service with no subscription requirement for $399. 

Existing customers on our v2 genotyping platform can also take advantage of this sale to upgrade to the latest v3 platform for the same price by going to https://www.23andme.com/user/upgrade

Once your sample has been processed, you’ll receive data on nearly 1 million places in your genome, information about your distant ancestry, and access to more than 180 health reports (optional). With the Personal Genome Service®, we’ll also help you connect with potential relatives to fill out your family tree and keep you up to date on the latest research linking genetics to your health and traits. 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Sat, 29 Jan 2011 08:24:00 -0800 Visual SNP Chip http://blog.bespokesystems.net/visual-snp-chip http://blog.bespokesystems.net/visual-snp-chip
23andMe raw data is the beginning of a wonderful frontier of possibilities starting with the contemplation of the ultimate introspection.  With 579,320 SNP geneotypes and genome wide association studies (GWAS) and other reports popping up in on-line scientific journals, I’ve got a lot of SNPs to read about and to watch for. There are two great things about 23andMe: their curated analysis and the community. 23andMe staff go to great extent to provide references, resources, summary explanations, helpful visualizations and expert explanations about every possible way our SNP data can be interpreted. Within reason - they carefuly vet what research reports they’ll describe as having meaning, and that’s understandable. The community is great, too, providing commentary from professional and hobbyist seekers.

While looking for pragmatic and structured approaches to processing the data, I wanted another angle, some way to make a set of As Ts Gs and Cs stand out and put more a physical face on it. And, it’s fun.

Simply put, a color is assigned to base letters in the full, raw SNP data downloaded from 23andMe and rasterized. After downloading my data from 23andMe, the Visual SNP Chip reads the data and represents it in a visual form. Since there are a lot of bases (my SNP data contined over a million bases), I added a scaling function for the resulting image and also a way to select a subset range of the data. Visual SNP Chip can generate a PNG file so you can save it, share it, make it your background (I have mine as my phone’s background), print it or do whatever you want with it.
Above, 29,000 bases of my personal 23andMe SNP data; base legend; Nexus One background
Design decisions

There were a bunch of decisions that effected the design of the Visual SNP Chip.  The first and foremost one was providing as much level of comfort about how the data’s being used:  Nowhere in this application does the SNP data go over the wire.  It’s not sent anywhere or stored anywhere other than where you have it.  This means your web browser on your computer is the only thing that sees all the data. I used HTML 5’s File API in conjunction with Web Worker threads to read 14mb+ files rapidly and Canvas to display the visualization and also to render to a png.

The accuracy of the representation wasn’t a priority - the physical visualization was.  That’s not to say it’s a random or made up visualization. There were design choices that make the resulting visualization more aesthetic than objective.

As an example, pairs versus individual bases. SNPs come in pairs, such as AA and TG - that’s two bases per single nucleotide polymorphism.  As represented in the Visual SNP Chip, these are “flattened” - in other words, an AA is represented as two red boxes side by side, a TG is a blue and a green box side by side instead of, say, some combination of colors per SNP.  I experimented with creating a composite pixel - one made up of blue + green for TG, for example - but I didn’t get the correct appearance I wanted.  I want revisit the concept of representing the pair rather than the individuals, since that feels more accurate.

And lastly, it hasn’t been thoroughly tested - if you find something gone wrong or that can be done better, please let me know!  I’ve mainly used Google’s Chrome browser as my primary target (I’m using 9.0.597.83 beta at the moment) with Firefox (version 3.6.13 is what I have).  Since not all browsers support the same HTML 5 features, I haven’t really coded it for compatability.

There were a lot of things I’d like to do, but haven’t prioritized - drag and drop files onto Visual SNP Chip rather than having a file dialog to search for the data, handling zipped files rather than text files, using HTML 5 storage (database) for more efficiencies, auto-scaling of large number of bases, mouseover info, and multiple UI tweaks to make it easier to use.

There were also a lot of things I’m sure I haven’t considered. I’m hoping this will appeal to some folks and I’ll be able to take and incorporate their feedback.

Enjoy and please let us know what you think!

Vsc_1987
Visual SNP Chip displaying 1,987 bases (few enough that they could be displayed) and the resulting image.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Thu, 07 Jan 2010 17:59:20 -0800 Enterprise Mashups with codeBeamer http://blog.bespokesystems.net/2010/01/07/enterprise-mashups-with-codebeamer http://blog.bespokesystems.net/2010/01/07/enterprise-mashups-with-codebeamer
A project of ours - timeline dashboarding of project progress - received some attention from the good folks at Intland who produce the Application Lifecycle Management software codeBeamer.  I wrote a blog piece for them about how we use the Simile Timeline widget, codeBeamer and Google Calendar to create an interactive timeline. Check out the post! We hope to put up a public version of the codeBeamer Timeline Builder soon!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Tue, 05 Jan 2010 14:57:00 -0800 A mention http://blog.bespokesystems.net/2010/01/05/a-mention http://blog.bespokesystems.net/2010/01/05/a-mention During my TOGAF 9 training class, I was asked to do a SWOT (Strengths - Weaknesses - Opportunities - Threats) analysis of adopting EA at the USDA. John Polgreen, the TOGAF trainer, has placed the SWOT on his blog.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Fri, 27 Nov 2009 13:05:00 -0800 A Timeline of Enterprise Architectures http://blog.bespokesystems.net/2009/11/27/a-timeline-of-enterprise-architectures http://blog.bespokesystems.net/2009/11/27/a-timeline-of-enterprise-architectures Timeline of Enterprise Architectures - Zachman FEA, TOGAF, Gartner EA, from 1987 to today.
Media_httptleilaxchin_dxqnk

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Sat, 21 Nov 2009 23:46:00 -0800 CRM - Internet Explorer has blocked this site from using an Active X control.. http://blog.bespokesystems.net/2009/11/21/crm-internet-explorer-has-blocked-this-site-from-using-an-active-x-control http://blog.bespokesystems.net/2009/11/21/crm-internet-explorer-has-blocked-this-site-from-using-an-active-x-control After UR7 if you see the IE yellow I-bar "Internet Explorer has blocked this site from using an ActiveX control in an unsafe manner. As a result, this page might not display correctly." KB 976539 is for you.

Media_httptleilaxchin_fppcz

The KB states that you can safely ignore the IBar and everything'll be fine. We noticed something else. Briefly, when the page loads, a little Outlook icon appears to the left of the Help menu on the CRM standard tool bar - "CRM for Outlook". This little visual blip keyed us off to one of the statements in the KB:
If Microsoft Dynamics CRM for Microsoft Office Outlook is installed but not configured, or if you are connecting to an organization other than the organization for which Microsoft Dynamics CRM for Microsoft Office Outlook is configured, you receive the following warning message in Internet Explorer:
After reconfiguring the CRM Outlook connection, the IBar warning disappeared.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Wed, 18 Nov 2009 12:06:00 -0800 Field-level Security in Microsoft Dynamics CRM: Options & Constraints http://blog.bespokesystems.net/2009/11/18/field-level-security-in-microsoft-dynamics-crm-options-constraints http://blog.bespokesystems.net/2009/11/18/field-level-security-in-microsoft-dynamics-crm-options-constraints

Microsoft's Engineering for Enterprise (MS CRM E2) Team released a document that goes over options and considerations for field-level security (something that's not out of the box in CRM 4.0 and very often requested by clients) on Nov 11.

This white paper, Field-level Security in Microsoft Dynamics CRM: Options and Constraints, provides selected aspects of the conceptual application of the security model in Microsoft Dynamics CRM. While Microsoft Dynamics CRM does not provide for true field-level security, there are a number of options available for using supported custom logic to control of access to data at a more granular level than provided out of the box. This document discusses some of the key options and constraints available for implementing this type of solution.

Let's skim the beginning and the end:

From their Introduction....

Many businesses have sensitive data that should only be viewable or editable only by certain groups of users. While Microsoft Dynamics CRM offers the ability to limit access at the entity level, business requirements frequently include controlling access to and updating data at a more granular level. This business need is typically voiced through a customer request for field-level security, which would provide the ability to:
  • Hide certain fields from particular groups of users
  • Allow particular groups of users to view but not edit certain fields of an entity
While these capabilities are not provided directly by Microsoft Dynamics CRM 4.0, there are a number of options available for using supported custom logic to control of access to data at a more granular level. This document discusses some of the options available.
And from their Conclusion...
Although Dynamics CRM does not currently offer field-level security as a product feature, this paper has shown that it is possible to use the flexibility of the CRM platform to offer relatively rich capabilities.

For scenarios that require more granular control of access to data, it is worth considering these approaches although there is no one solution that meets all needs. Rather, there are a number of possible approaches that can be combined to offer the optimum balance of capability for the requirements of a particular implementation.

Remember, though, that all possible access channels need to be considered when providing field-level security. Offering restricted access in Entity Forms and Views but allowing Reports to access the restricted data is not a valid solution unless you can secure that channel by, for example, restricting access to that channel to authorized users. In other words, it is essential to consider the whole solution when addressing these types of requirements.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Wed, 18 Nov 2009 11:53:00 -0800 CRM SDK 4.0.10 http://blog.bespokesystems.net/2009/11/18/crm-sdk-4-0-10 http://blog.bespokesystems.net/2009/11/18/crm-sdk-4-0-10

CRM 4.0 SDK 4.0.10 was released on 11/10/2009.

According to the notes, this release updated only the assemblies in the Bin folder. "Use these updated assemblies instead of the ones in the previous release of SDK 4.0.10."

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Mon, 31 Aug 2009 01:29:00 -0700 CRM VM: FIPS Compliant Algorithm http://blog.bespokesystems.net/2009/08/30/crm-vm-fips-compliant-algorithm http://blog.bespokesystems.net/2009/08/30/crm-vm-fips-compliant-algorithm

We've recently been recreating our CRM development VM and run across a few things that are useful to watch out for.

Modifying the Computer Configuration via gpedit.msc, we turn on System Cryptography: Use FIPS compliant algorithms, found in Computer Configuration > Windows Settings > Security Settings > Local Security Policy > Local Policies > Security Options.

Doing this prior to installing CRM will make the CRM 4.0 RTM base install fail, even with the installation updates, with the error: "Action Microsoft.Crm.Setup.server.AddLicenseAction failed .. this implemetation is not part of the Windows Platform FIPS validated cryptographic algorithms."  There's a KB, KB 955745, about this.

Do not turn on or enable the "Use FIPS compliant algorithms" prior to installing CRM 4.0.  You may enable this setting after installing the latest Update Rollups, since this KB was included in UR2.

From the KB, the registry settings added are:

Data Migration client, add the following registry subkey:
\SOFTWARE\Microsoft\Data Migration Wizard\MSCRMFIPSCompliance = 0

On the Exchange Server that is running the CRM E-mail Router, add the following registry subkey:
\SOFTWARE\Microsoft\MSCRM\MSCRMFIPSCompliance = 0

On the Microsoft Dynamics CRM Server, add the following registry subkey:
\SOFTWARE\Microsoft\MSCRM\MSCRMFIPSCompliance = 0

On the Microsoft Dynamics CRM client for Outlook, add the following registry subkey:
\SOFTWARE\Microsoft\MSCRMClient\MSCRMFIPSCompliance = 0

 

 

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Sat, 13 Jun 2009 10:20:00 -0700 CRM SDK 4.0.9 http://blog.bespokesystems.net/2009/06/13/crm-sdk-4-0-9 http://blog.bespokesystems.net/2009/06/13/crm-sdk-4-0-9

Talk about totally missing the boat (for 8 days): The CRM 4.0 SDK 4.0.9 was released on 06/04.

A few new walkthroughs (metadata, plugin, and workflow) as well as VisualStudio templates for an AddOnWebpage, PlugIn, and WorkflowActivity.

More about those soon!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Wed, 06 May 2009 11:28:00 -0700 CodePlex Search Accelerator http://blog.bespokesystems.net/2009/05/06/codeplex-search-accelerator http://blog.bespokesystems.net/2009/05/06/codeplex-search-accelerator Here's a very simple CodePlex search accelerator for IE 8.  It allows a quick search of CodePlex by highlighting a term or phrase in IE8.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Tue, 28 Apr 2009 11:41:00 -0700 CRM 4.0 Version Numbers http://blog.bespokesystems.net/2009/04/28/crm-4-0-version-numbers http://blog.bespokesystems.net/2009/04/28/crm-4-0-version-numbers
CRM 4.0 Version
RTM 4.0.7333.3
Rollup 1 4.0.7333.1213
Rollup 2 4.0.7333.1312
Rollup 3 4.0.7333.1408
Rollup 4 4.0.7333.1551
Rollup 5 4.0.7333.1644
Rollup 6 4.0.7333.1750
Rollup 7 4.0.7333.2138

These have come in really handy as we do static code analyses and other stats on a technical retrospective of our project.

A consistent way to find these numbers is to look at the version of the CRM assemblies themselves - see c:\program files\microsoft dynamics crm\server\bin\CRMCore.dll (for example).

Additionally, you can query on any organization database's (orgname_MSCRM) dbo.BuildVersion table for the Revision column.  That'll contain the minor number, e.g., '2138' for UR7.  Combining MajorVersion, MinorVersion, BuildNumber and Revision from that table will result in 4.0.7333.2138 (for UR7). The LastDatabaseQfe column contains the KB number of the MSFT Knowledge base, e.g. KB971782 for UR7.  

Thanks to Mitch Milam for pointing out the BuildVersion table!

Updated: 11/05/2009

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Sat, 25 Apr 2009 10:56:00 -0700 XRM ... What?! http://blog.bespokesystems.net/2009/04/25/xrm-what http://blog.bespokesystems.net/2009/04/25/xrm-what

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Sat, 28 Mar 2009 01:26:00 -0700 Microsoft Dynamics CRM as XRM http://blog.bespokesystems.net/2009/03/27/microsoft-dynamics-crm-as-xrm http://blog.bespokesystems.net/2009/03/27/microsoft-dynamics-crm-as-xrm
With the advent of the XRM Virtual User Group, it's high time we put down some ideas about what we consider "on the edge" usages of CRM - or, as some people would put it, CRM as an XRM.

What is an "XRM"? - Well, with the direction the Dynamics group wants to take it, something exciting no doubt: Leveraging a proven Microsoft .NET platform (CRM) to quickly, rapidly and effectively create an Extensible Relationship Management system.

CRM 4.0, as it is today, packs quite a punch out of the box (OOB): Workflows, easy 1-N/N-N entity relationship creation, forms and report wizards and a standard look and feel, amongst other things.  At Bespoke Systems, we're able to take this framework and mash on it to bring out the best of what was intended as well as cajoling the CRM base application to be more than it can be, showing off the potential of what an XRM could be.

Here are a few things we'd like to see be more formal in an CRM-based XRM:
  1. Better Visual Studio integration (project templates, debugging)
  2. Better automation for developers (daily build, msbuild templates, CruiseControl.NET integration)
  3. Making all entities first class entities (no "special" behaviors for System entities such as Contact and Case, no hard to get at views - hidden in the SQL database)
  4. Better exposure of the "ORM" or, even nicer, base the XRM ORM on an open source (NHibernate/ActiveRecord or Linq2SQL/EF) ORM.
  5. Seamless ability to generate strongly typed classes from entities
  6. More UI theming and exposure to CSS
  7. Much, much less .htc, more CSS, and more open source JavaScript frameworks (preferrably jQuery) for accessing the SDK, interim save behavior, and dynamic forms
  8. Managing very large customization files (100+ entities)
  9. Architectural patterns (and their extension)! Design patterns (and their extension)!

A lot of these "XRM" ideas are being worked on in our labs.  Soon, we'll have some more writeups on our Analyst's Toolkit and Developer's Toolkit - best practices and software utilities designed to help Dynamics Analysts and Developers.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Wed, 25 Mar 2009 12:18:34 -0700 Taking the Stock Challenge http://blog.bespokesystems.net/2009/03/25/taking-the-stock-challenge http://blog.bespokesystems.net/2009/03/25/taking-the-stock-challenge Here at Bespoke Systems we like to think of ourselves as visionaries who can implement - strategic and tactical.  We challenge ourselves, literally.  In the office a running exercise is the "Software Challenge."*  The premise of our challenges are simple: build an application to serve a purpose, best vision + implementation = Winner! Jack laid down the gauntlet on the latest challenge: Stock Challenge.  The application must be able to record users's predictions of the next day's Dow Jones average.  Up, down, and by what percentage.  The vision and implementation are left up to the implementor. There's a time limit and then there's a peer review and then I'll be crowned the winner.  I mean, a winner will be crowned. We'll post a link to the results here. We love these challenges for another reason: It's deliberate practice a la Geoff Colvin's Talent Is Overrated: What Really Separates World-Class Performers from Everybody Else
Media_httpwwwassocama_zteiy

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy
Mon, 02 Feb 2009 11:19:23 -0800 The DCR Post - What we'd like to see in CRM 5+ http://blog.bespokesystems.net/2009/02/02/the-dcr-post-what-wed-like-to-see-in-crm-5 http://blog.bespokesystems.net/2009/02/02/the-dcr-post-what-wed-like-to-see-in-crm-5 Here at Bespoke Systems we've been using CRM 4 since the Titan CTPs and have been loving the upgrades from CRM 3.0.  Loving the changes so much we have lots of ideas to make CRM a real XRM - a platform for Extensible Relationship Management.
  • Better developer tools!
  • A better process for multiple developers operating on the same set of customizations (customizations.xml)
  • Automation tools - out-of-the-box tools (command-line, powershell, winapp) for production and development Import & Publish and loading data
  • Continuous Integration - using msbuild/nant to support contiuous integration and building CRM in a development environment
  • Multitenancy-awareness improvements throughout the platform - many of the "unsupported" customization areas aren't multitenancy aware and not only should be but also should be exposed as user-configurable
  • Developer best practices - a Patterns & Practices style guide / cookbook for CRM development on partial class usage, javascript usage and plugin and workflow usage
  • Modifications to the server to allow for more flexible deployment scenarios than IFD and On Premise (a "hybrid" model to accomodate for enterprise firewall and vlan structure would be great)
  • A VS.NET CRM Project Template
  • Deprecating registry settings per organization - create a Configuration Setting entity that's cached and used on a per-organization basis, eliminating a necessity to go to every load-balanced machine and verify registry settings
  • Better logging and debugging for plugins and workflows (other than the crm trace file), preferrably exposed through a privledged-user area in the Settings Area, especially handy for enterprises with strict separation of duties (ITIL, etc) when a dev can't get to the actual deployed box
We've worked on some of these requests and have some in-house tools we use for our CRM practice and for some clients.  Look for the ones we can post to be announced on this blog! (PS - Happy Groundhog Day)

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/996653/1192_bases_ghc.png http://posterous.com/users/he6h5zYvR9BZ8 G. Hussain Chinoy bespokesystems G. Hussain Chinoy