Dec 7, 2010

Silverlight: Using Merged Dictionaries of Style Resources and Blend

Resource dictionaries are quite commonly used for theming and centralized styling of Silverlight apps. This post does a step-by-step walkthrough of using dictionaries and their real purpose with examples. Note, this post is for those who don't know what a resource dictionary is. Click the link below to read the article.

Silverlight Scratchpad: Merged Dictionaries of Style Resources and Blend

Dec 2, 2010

Silverlight 5 - Key new features(not coming till 2011 though).

Silverlight 5 sneak peek was held at the Silverlight Firestarter event! Few key features that caught my attention are given below.

1) Databinding debugging support - Debug databinding errors in realtime, showing the details.
2) Ability to resolve datacontext within templates.
3) Layout transitions far easier now with few lines of xaml.
4) OpenType font support - could be less legal hassles.
5) Pivot control now part of Silverlight - Allows large datasets to be visualized and browsed quickly. This the THE control for ecommerce and online retail stores/storefronts in particular. The customers are going to love this shopping tool.
6) Immediate mode graphics API - Ability to directly write to GPU for faster graphics rendering.
7) 3D support - There was cool demo of a Doctor's portal online. Google for it.
8) Enterprise group policy support for out-of-browser apps - for intranet based enterprise deployments.
9) Move individual controls in an Out-of-browser app into separate windows. Something similar to pulling out web browser tabs into separate windows. This one is really useful for UI with a ton of data.
10) Ability to call unmanaged code in out-of-browser mode. This would allow the app to connect to device libraries installed on the system. This may be OS limited feature though (Windows most probably). With this, for instance you can download an xls file from your app and launch in local MS Office.
12) UI automation testing tooling support. Easier way to record and run the UI automation test workflows. The recording is converted to test code which can be run later or integrated into your Continuous Integration setup. Impressive tooling support!
13) Faster startup (not sure how fast .. there will always be pre-requisites and limitations thought :)

Nov 18, 2010

Error HRESULT E_FAIL has been returned from a call to a COM component.

"Error HRESULT E_FAIL has been returned from a call to a COM component." Sounds familiar? 
This error gets thrown across so many places in a whole gamut of microsoft products. But, this post is specific to Silverlight. I would assume that, if you have the source code for the project you are debugging with VS, you should be able to pin point to the exact location of errors and exceptions no matter what caused it. But the above error is very tricky. Even if you have the code in place, VS debugger won't point to the exact location not does it give a meaningful stack information. This is a problem with layered programming languages like .NET and anything built on top of it. If you were to do unmanaged programming, you may have more diagnostic information to look at.

Limitation in Expression Blend for sample data generation.

Expression Blend has a great feature to create sample data for design time use. For instance, if you had datatemplates and building upon MVVM, Blend can generate sample data for your VM class and populate the UI during design time. This way, you can visualize your UI controls during design time. To do this, open your project in Blend.. simply click on the Data tab.. select the "Create Sample Data" icon and choose "Create sample data from class".. now choose your VM or any class that you are binding to your controls. Thats it. You should see your UI controls populated with sample data in design view. This is a great feature in Blend for designers/developers.

But, there is a limitation. The sample data can be generated only for classes. If any of your property has an Interface return type, Blend will not generate sample data. You may need to have an Interface by architecture, but Blend will fail to generate data.

Oct 31, 2010

GMail Delete Keyboard ShortCut - Works in IE, Firefox, Opera

Keyboard junkie myself, i was looking for Gmail keyboard shortcut for deleting email. For some, doesn't show up in official Gmail list. There is an undocumented shortcut though - #(Shift+3 on win) does the job.

Thanks Amit for the tip.

Oct 26, 2010

Oct 25, 2010

Captchas + Ads = Brilliant Idea!!

Just stepped on a Techcrunch post about a startup called NuCaptcha that wants to combine captchas with Ads. What a brilliant thought!! This could certainly be the next untapped ads money spinner. This approach also ensures that users are INDEED reading what's in the ad(i mean captcha). Read the Techcrunch post for more info.

Oct 24, 2010

Silverlight TextBox Databinding not triggering

In Silverlight, the data binding of textbox gets triggered only when the controls loses focus. Trying to handle this using TextChanged doesn't help either.

If you do design/dev with Silverlight, the chances are you have seen this issue at least once.

The simplest solution i have seen is to use behaviors. Check the link below for the solution.

Binding update on TextBox.TextChanged event using Behaviors | Zoltan's .NET Blog

Oct 15, 2010

Silverlight Plugin Height Resize Issue..

If your silverlight plugin doesn't resize on increasing browser height, you are not alone. Here is a simple fix.
Silverlight Plugin Vertical Resize Issue..

Sep 29, 2010

10 Traits to Be an Entrepreneur - Mind of Josh

Good post from a budding entrepreneur. The interesting bits from the post:

I hear all too often “I don’t know what I am going to do or what I want to do.” Come on! You have an interest in something. It starts with an interest in something and turns into a passion or could already be a passion.

Have a big idea. Be the next Google. Own the world. Build a space ship. Be the person who finds the cure for AIDs. Think HUGE.

Read the complete post here

Sep 12, 2010

Cloud computing - simplest explanation.

The internet is buzzing with articles on cloud computing. This post is not meant to be part of the crowd. The cloud computing architecture has a stack too like any other technology. I found the diagram to be the simplest of the explanation of the scope and stack of cloud architecture - all the possible *aaS combinations.

Cloud Stratas


[image source: cumulux.com]

Aug 4, 2010

.Net Development - Muffin Top architecture is killing us

Read this post on .Net architecture specifically w.r.to Entity Framework. Felt like a Deja Vu on architecture choices and the overkill with this architecture. Interesting read for those familiar with LINQ, EF and .Net in general.

Jul 12, 2010

iPhone 4 mess - my experience with Apple.

The truth is Apple has history of manufacturing defects and have a strong ego not to recall or replace it. A simple design defect example is the prior version of Macbook. The plastic casing cracks repeatedly, on an average 2-3 times it has to be replaced by Apple or authorized service center. Even after knowing the design defect, the product was sold for almost an year after that. Unsuspecting people ended up buying it believing in Apple's quality only to realize that they have to live with the reappearing cracks. Apple wouldn't officially acknowledge it, but the service centers would say that they have got notified by Apple to support it as long as they can (at Apple's mercy after buying a product with design defect?), but there is no info on when Apple would stop the support. Dell provides a year long warranty and customer support for a $400 laptop. But, Apple won't provide more a 90 days of customer support for a $1000 laptop. My experience with first generation iPhone prompted me to buy a Macbook, but Apple has a history of not admitting the mistakes and worst case you will get ridiculous replies from Steve Jobs.

Jul 11, 2010

Study of Apple and why it's Apple

Study of Apple and why it's Apple.. Well thought out post.. well presented too!


Jun 23, 2010

Do you have 'Raw Intelligence'?


Stepped on this term 'Raw Intelligence' while browsing a job requirement. Pretty attractive term. A little bit of googling has the following definitions posted by real humans:

-
is supposed to describe an individual's ability to grasp abstract concepts, recognize patterns, apply prior knowledge to novel situations, things like that.
basically, it is the kind of intelligence that you can't really teach. you can teach someone a lot of facts, and if they have good memory and recall they can be a human encyclopaedia, but that isn't "raw intelligence".
 i think it's a stupid way to think of it though
-
you can't be taught how to do those kinds of problems, you just need to be able to recognize the pattern. the ability to do so is what people are calling 'raw intelligence'.all it is is a way for educators to think about the flaws in the standardized assessment protocol. they say that not everybody is book smart (lots of knowledge), but that doesn't mean that they aren't intelligent in other ways. they come up with all these other kinds of things and label them as intelligence and the whole thing is completely unscientific and abhorrent
-
It's supposed to mean the REAL intelligence of someone, untainted by the methodology behind any kind of testing.
-
1. Complex Pattern Identification.
2. Simple Pattern Identification.
3. Inductive Thinking.
4. Conductive Thinking.
5. Language Skills.
6. Attention Span.
7. Retention.
8. Categorization.
9. Association.
10. Recognition.
11. Spatial Understanding.
12. Mental Speed.
13. Emotional understanding and identification.
14. Spatial Awarenes.
15. Reading Comprehension.
16. Being able to solve problems over multiple mediums (language, math, symbolic).
17. Mathematic Creativity
18. Linguistic Creativity
19. Artistic Creativity
20. Inventive Creativity (ingenuity)
21. Persuasion.The list goes on and on. Really, intelligence is a broad spectrum.
I bolded the ones which I feel are most likely to make a person IDENTIFIABLE as intelligent to others through normal interaction
-
Raw intelligence is processing speed, abstract and creative thought (which lends to higher maths and problem solving), and the ability to create associations through learning which are applicable.

Jun 2, 2010

Have you used a wiki in your project or group?

I am big fan of Wiki. I have used it in a project in the past. Zero documents. Everything goes into Wiki. Use cases, Func requirements, Wireframes, Screen mocks, UI guidelines, Coding guidelines, Milestones.. love it!! But, few companies i have know dares to venture to that extent.

Found this discussion on using Wiki in projects and was reminiscing the good ol days.

Have you used a wiki in your project or group? - Stack Overflow

.NET 4 Web Application Startup Time

Scott Hanselman has some stats on performance improvements that come with .NET 4.0 for server based systems. Checkout the url.
Scott Hanselman - .NET 4 Web Application Startup Time

May 25, 2010

Multi threaded SVN clients

We are all familiar with SVN and the gamut of SVN client software available free and paid. TortoiseSVN stands out from the crowd due to shell integration and easy of use. When it comes to downloading files especially over the internet, we hate slow downloads which primarily caused by single threaded download tools. Same is the case with TortoiseSVN. It creates only one thread for file downloads, which is painful while downloading lot of files.

It turns out THERE ARE multi threaded downloader clients for SVN, free and paid ofcourse. Checkout the URL below for multithreaded clients.
Free Windows Subversion Client Guide, Subversion Servers & more

May 22, 2010

MS Project schedule - Four ways to set precedence relationships.

Precedence relationships such as Start-finish, finish-start are an integral part of Microsoft Project scheduling, but when i was asked to give instant examples, i got stuck with finish-start relationship. The below link gives good examples for all the relationships. Check it out!

Four ways to set precedence relationships in your schedule - Tech Management - Techguide
Reblog this post [with Zemanta]

Apr 3, 2010

Install XP on SATA hard drive.

I had a notebook with Vista installed on it and my internal hard drive went broke on one fine day. Now, i bought a new SATA hard drive and tried installing XP instead. Did the simple steps of formatting the hard drive as primary, plugged in the hard drive into the notebook, put the xp install cd in the drive, change the boot order to CD first and ran xp setup.
The installer loaded all setup files and boom -- BSOD! Error message "....Remove any newly installed hard drives or hard drive controllers. Check your hard drive to make sure it is properly configured and terminated...".

I made the following troubleshooting checklist:
1) Make sure hard drive is working fine
2) Make sure the hard drive drivers are present during xp install

Step1: I tested the hard drive using the diagnostic tools from the hard drive vendor. Simpler approach is, if you have a portable hard drive, just remove the casing, replace the hard drive in the casing with the new one to be tested. Plug into your pc and should be able to browse the contents. If it's not formatted, format it to primary partition.

Step2: Since XP is years old, the XP install setup may not include drivers for the latest SATA drives and also, XP doesn't very much support SATA. So, the solution is to update the XP installer CD. For this, you need the following
- SATA driver for XP. Download it here.
- Download nLite, to tool to update the XP installer setup. Download it here.
- Follow the instructions on this link to create the updated XP installation CD.
- Now, install the XP from the CD and you should be good to go!

Hope this helps!

Mar 18, 2010

Where to find Immunization codes online?

CDC publishes the official immunization codes called by the name CVX in their website. The codes along with description are available in the url below.

http://www.cdc.gov/vaccines/programs/iis/stds/cvx.htm

Where to find CPT codes online?

CPT codes can be either looked up for free or purchased online.

The AMA has the copyright to CPT codes. So, it's ideal to purchase from them online in the url.
https://catalog.ama-assn.org/Catalog/product/product_detail.jsp?productId=prod1170127

Feb 24, 2010

ARRA Meaningful Use FAQ #1

What is Meaningful Use criteria? Where to get started?
Meaningful Use criteria is defined as part of ARRA by Dept of Health and Human Services and published on their website. HHS is the authority on this. Visit this HHS page to get started. Word of caution: Meaningful Use definition runs into 100s of pages, as does any Federal document.


Who certifies Meaningful Use?
CCHIT is the only certification body currently authorized to certify EHRs for Meaningful Use. The certification criteria from CCHIT is posted here on their website.

Is Meaningful Use criteria final?
No. HHS has issued two subsequent definitions so far - Preliminary ARRA certification (2009) and Interim Final Rule (2010). The final rule for Meaningful Use definition is yet to be released by the HHS, which will be the final definition of Meaningful Use that the Providers need to satisfy to get the Federal payments.

Feb 18, 2010

Health IT jargons revealed.

There are tons of Health IT jargons floating around. Not many of us would know or care to know what they are and whom they refer to. Here is a bunch of jargons and the source of origin.

ARRA - American Recovery and Reinvestment Act [www.recovery.gov]

ARRA Healthcare Stimulus - Set of federal stimulus funding set aside for Healthcare reforms [read more]

HHS - US Dept. of Health and Human Services [link]

CMS - Centers for Medicare and Medicaid Services, Federal agency under Dept. of Health and Human Services [read more]

Meaningful Use for Providers and Hospitals - Set of criteria from HHS/CMS to prove meaningful use of EHR by Providers and Hospitals to receive payments under the Federal incentive program [read more]

CCHIT - Certification Commission for Health Information Technology, an independent non-profit organization promoting interoperability in Health IT [read more]

HITSP - Health Information Technology Standards Panel, a public-private partnership contracted by HHS responsible for bringing together various standards for achieving adoption of Health IT [link]

IHE - Integrating the Healthcare Enterprise, an organization that publishes standards and specs for industry vendors to test and establish interoperability with other healthcare systems. [link]

PQRI - Physician Quality Reporting Initiative, a quality reporting system established by CMS for providers to report quality measures on the professional services furnished to Medicare beneficiaries. [link

NQF - National Quality Forum, an non-profit organization established to identify and endorse quality improvement in Healthcare through use of Information Technology. [link]

Feb 16, 2010

Running out of space on C drive?

I have a 50GB C drive partition with the standard tools Visual Studio, SQL Server etc installed on my Vista. I would run out of space once in a while in C drive eventhough my installed software wouldn't account more than 7 GB. How to find culprit? Windows doesn't make it easy to identify the folders consuming the most storage space. But, there are tools out there. I used Windirstat to dig deeper. It's a great tool and open source. So, no worries of malware.

1) Ran the Windirstat. Got this awesome split of storage crunchers by type and location. It displays the max consumptions by list of file types and this gorgeous motherboard look-alike graphic pinpointing to the specific files. Here is a snapshot.
[Image]
2) Winsxs folder was the primary culprit with 10GB of space. You can find out why Winsxs takes space and what's in it by reading this thread. Other culprits were SQL Server DB transaction logs, PDB files, SVN-BASE files
3) To reduce the size of Winsxs (only if you have Vista with SP1 installed), run the "vsp1cln" from cmd prompt and say 'yes' to permanently install SP1. This will remove the ton of SP1 backups leftover in Winsxs.
4) To reduce the SQL Server Transaction logs(mine being a dev machine..logs are waste of storage), read this thread and this fix. I changed the recovery model to Simple and ran DBCC SHRINKFILE on the log files. Also, there were few old log files that probably never got deleted with gigs of space. Got rid of them as well!
5) And, PDB files need to deleted as and when they get created. I don't see any other option for developer machines.

Hope this helps!

Feb 14, 2010

Followup of Google Buzz privacy.

In my last post on Google Buzz privacy flaws, i wrote about a few things to watch for. Well, they seem to have triggered lot of issues faced by Google users. Read this post from Techcrunch. Seems, it's going to take a while to flush out these. Stay awake till then!

Feb 12, 2010

Google Buzz Privacy

This one is for the privacy buffs! Watch out for Privacy issues in Buzz. By default, it puts almost all your address book contacts list on the public domain(following and followers). Which means eveyone gets to see the list of people i email and chat with. Not everyone will be fine with this. If it sounds like you, read these posts to block them from public view.


What it is about - http://bit.ly/9Yk8fd

How to fix it - http://bit.ly/cy7U6i

Feb 4, 2010

About Mission and Vision statements.

Mission PossibleImage by janusz l via Flickr
“Mission Statements” and “Vision Statements” do two distinctly different jobs.

A Mission Statement defines the organization's purpose and primary objectives. Its prime function is internal – to define the key measure or measures of the organization’s success – and its prime audience is the leadership team and stockholders.

Vision Statements also define the organizations purpose, but this time they do so in terms of the organization’s values rather than bottom line measures (values are guiding beliefs about how things should be done.) The vision statement communicates both the purpose and values of the organization. For employees, it gives direction about how they are expected to behave and inspires them to give their best. Shared with customers, it shapes customers’ understanding of why they should work with the organization.

Read more here or simple Google!

Jan 28, 2010

What does Agile stand for?

I have been doing software development using 'Agile' for a few years now. With 'Agile' becoming ubiquitous, what does the Agile stand for? Wikipedia talks a lot about it, but no one can describe it well and to the point than it's founders. Agile Manifesto, as described by it's founders:

We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:

Individuals and interactions over processes & tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on
the right, we value the items on the left more.



Anyone who has developed products with small focused teams and startups would fall in love with the above words. I did too :)

Jan 23, 2010

HTML5 taking off in a big way... at last!

I have been following HTML5 developments for more than a year now. Without Google and Apple, the HTML5 would not have surfaced. After all, who else can pull off something this big against the weights of Adobe and Microsoft. Alright. Straight to the news.

Google announces that YouTube will start testing HTML5 as a video player. Initially supported browsers are Google Chrome, Apple Safari (4+) and IE (with Chrome Frame installed). Firefox didn't make it to the list as they were not in agreement with use of H.264 codec and has been the supporter of the Ogg Theora codec which is patent-free as against the H.264 requiring patent licensing. YouTube HTML5 support blog post is available here.

Vimeo, another popular video site was quick to follow YouTube in releasing HTML5 video player. Vimeo has done it in a big way that, any video on its site will have a link at the bottom to view it in HTML5. This is really cool! Checkout the blog post here.

Eventhough, HTML5 is still in draft stage, many of the browser makers have started supporting and implementing them. Chrome, Safari, Opera and Firefox are the early adopters. HTML5 is picking up steam! To Flash and Silverlight developers: better watch out!

Related articles:
Decoding HTML5 debate - http://arstechnica.com/open-source/news/2009/07/decoding-the-html-5-video-codec-debate.ars
How HTML5 could kill Flash video - http://gizmodo.com/5454115/first-youtube-now-vimeo-how-html5-could-finally-kill-flash-video

Jan 21, 2010

Howo to checkin multiple files in SharePoint?

Today, i had a bunch of files to upload to SharePoint and check in those. It was a pain to checkin those individually, especially if you had lot of files. But, there is a way to checkin multiple files in oneshot. Do the following steps:

Pre-condition: Upload all files to the corresponding document library(ries)

#1 Click Site Actions and Site Settings
#2 Click Content and Structure
#3 Browse to the document library that has multiple files already uploaded and waiting to get checked in
#4 Verify the "Checked out to" column to identify the pending checkins
#5 Select the checkboxes for files to be checked in
#6 Click Actions and Check In. You will be prompted to enter comment that will used for the selected checkin files. Voila! That was easy!

Jan 17, 2010

Project Sensitivity Analysis

Project Sensitivity Analysis determines which variables have the most potential to impact the project. This is one of the methods of modeling risks in the project. The method determines the impact of the risks on the  project outcome using a quantifiable value. The higher the sensitivity, the more the importance to be given to the variable, as it could have potentially large impact on the project. Tornado diagram and Bar diagrams are used to represent the sensitivity alongside the identified Risks in the project.

Below is a bar diagram representation of sensitivity analysis. [Source]



Jan 15, 2010

Mashup of Startups

All ya amigos with love for startups, here is a mashup of startups that boomed or flopped. Great job Meg!
 

Jan 4, 2010

Meaningful Use - Quick Notes

The proposed rule would define the term "meaningful EHR user" as an eligible professional or eligible hospital that, during the specified reporting period, demonstrates meaningful use of certified EHR technology in a form and manner consistent with certain objectives and measures presented in the regulation.

The Interim Final Regulation(IFR) of "Meaningful Use" issued by ONC sets initial standards, implementation specifications, and certification criteria for EHR technology. The IFR describes:

1) Standard formats for clinical summaries and prescriptions;
2) Standard terms to describe clinical problems, procedures, laboratory tests, medications and allergies;
3) Standards for the secure transportation of this information using the Internet

The IFR calls for the industry to standardize the way in which EHR information is exchanged between organizations.

The Recovery Act established programs to provide incentive payments to eligible professionals and eligible hospitals participating in Medicare and Medicaid that adopt and make “meaningful use” of certified EHR technology.
Incentive payments may begin as soon as October 2010 to eligible hospitals.
Incentive payments to other eligible providers may begin in January 2011.

ARRA includes the Health Information Technology for Economic and Clinical Health Act, or the "HITECH Act," which established programs under Medicare and Medicaid to provide incentive payments for the "meaningful use" of certified electronic health records (EHR) technology.


Jan 2, 2010

Difficult sponsors - How to deal with them?

There is an interesting thread going on in LinkedIn "Difficult Sponsors - How to deal with them?". I found a couple of notable responses. Here are few:

"these difficult sponsors are not "bad" people on a mission to undermine the project but are simply uneducated in the role of an effective sponsor"

You can read the complete thread here.

Best intro to Scrum

I haven't found anything this simple, concise and complete in explaining Scrum to the unknown. A quick cut from the post
Of all the agile methodologies, Scrum is unique because it introduced the idea of “empirical process control.” That is, Scrum uses the real-world progress of a project — not a best guess or uninformed forecast — to plan and schedule releases.
Checkout the complete article here.