<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hasan Bazerbashi&#039;s Web Site</title>
	<atom:link href="http://www.bazerbashi.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.bazerbashi.com</link>
	<description>This is my personal Web Site where I can put my news and other stuff which I find interesting. Hasan Bazerbashi ;)</description>
	<lastBuildDate>Tue, 28 Apr 2026 16:00:08 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>When to Use Power Automate vs Azure Functions in Power Platform Solutions</title>
		<link>http://www.bazerbashi.com/power-platform/when-to-use-power-automate-vs-azure-functions-in-power-platform-solutions</link>
					<comments>http://www.bazerbashi.com/power-platform/when-to-use-power-automate-vs-azure-functions-in-power-platform-solutions#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 16:00:07 +0000</pubDate>
				<category><![CDATA[Power Platform]]></category>
		<category><![CDATA[Azure Functions]]></category>
		<category><![CDATA[Power Automate]]></category>
		<guid isPermaLink="false">https://www.bazerbashi.com/?p=429</guid>

					<description><![CDATA[<p>One of the most common patterns I’ve seen in Power Platform projects is defaulting to Power Automate for almost everything. While Power Automate is incredibly powerful, using it for the wrong scenarios can lead to performance issues, complex maintenance, and limitations that are difficult to overcome. In a recent solution involving Power Pages, document generation, [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/power-platform/when-to-use-power-automate-vs-azure-functions-in-power-platform-solutions">When to Use Power Automate vs Azure Functions in Power Platform Solutions</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>One of the most common patterns I’ve seen in Power Platform projects is defaulting to Power Automate for almost everything.</p>



<p>While Power Automate is incredibly powerful, using it for the wrong scenarios can lead to performance issues, complex maintenance, and limitations that are difficult to overcome.</p>



<p>In a <a href="https://www.bazerbashi.com/power-platform/end-to-end-pdf-generation-in-power-pages-using-power-automate-and-azure-functions" title="End-to-End PDF Generation in Power Pages Using Power Automate and Azure Functions">recent solution</a> involving Power Pages, document generation, and backend processing, I had to make several decisions about when to use Power Automate and when to offload logic to Azure Functions. This article shares a practical framework based on those real-world decisions.</p>



<h2 class="wp-block-heading">The Core Problem</h2>



<p>Power Platform provides multiple ways to implement logic:</p>



<ul class="wp-block-list">
<li>Power Automate (low-code orchestration)</li>



<li>Azure Functions (custom code execution)</li>
</ul>



<p>The challenge is not choosing one over the other, but it’s knowing <strong>where each one fits best</strong>.</p>



<p>Using the wrong tool in the wrong place often results in:</p>



<ul class="wp-block-list">
<li>Overly complex flows</li>



<li>Performance bottlenecks</li>



<li>Difficult debugging and monitoring</li>



<li>Limited flexibility for future enhancements</li>
</ul>



<h2 class="wp-block-heading">High-Level Comparison</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Scenario</th><th>Power Automate</th><th>Azure Functions</th></tr></thead><tbody><tr><td>Orchestrating workflows</td><td>Excellent</td><td>Not ideal</td></tr><tr><td>Simple data transformations</td><td>Good</td><td>Overkill</td></tr><tr><td>Complex business logic</td><td>Limited</td><td>Strong</td></tr><tr><td>Heavy processing (documents, files)</td><td>Struggles</td><td>Ideal</td></tr><tr><td>External integrations (custom APIs)</td><td>Limited control</td><td>Full control</td></tr><tr><td>Performance-critical operations</td><td>Slower</td><td>Faster</td></tr><tr><td>Maintainability (non-dev teams)</td><td>Easier</td><td>Requires dev skills</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Real-World Example</h2>



<p>In my <a href="https://www.bazerbashi.com/power-platform/end-to-end-pdf-generation-in-power-pages-using-power-automate-and-azure-functions" title="End-to-End PDF Generation in Power Pages Using Power Automate and Azure Functions">PDF generation solution</a>:</p>



<h3 class="wp-block-heading">Power Automate was used for:</h3>



<ul class="wp-block-list">
<li>Receiving requests from Power Pages</li>



<li>Selecting the correct template</li>



<li>Orchestrating the flow between components</li>



<li>Handling configuration and environment differences</li>
</ul>



<h3 class="wp-block-heading">Azure Functions was used for:</h3>



<ul class="wp-block-list">
<li>OpenXML document manipulation</li>



<li>Accessibility fixes</li>



<li>Word-to-PDF conversion using a third-party library</li>
</ul>



<h3 class="wp-block-heading">Why this split worked</h3>



<ul class="wp-block-list">
<li>Power Automate handled the <strong>process flow and integration</strong></li>



<li>Azure Functions handled <strong>processing and transformation</strong></li>
</ul>



<p>Trying to do everything in Power Automate would have resulted in:</p>



<ul class="wp-block-list">
<li>Complex expressions</li>



<li>Limited control over document structure</li>



<li>Poor performance</li>
</ul>



<h2 class="wp-block-heading">Decision Framework</h2>



<p>When designing a solution, I typically evaluate the following:</p>



<h3 class="wp-block-heading">1. Complexity of Logic</h3>



<ul class="wp-block-list">
<li>If logic is simple → Power Automate</li>



<li>If logic involves loops, transformations, or structured processing → Azure Functions</li>
</ul>



<h3 class="wp-block-heading">2. Performance Requirements</h3>



<ul class="wp-block-list">
<li>If execution time is not critical → Power Automate</li>



<li>If speed and efficiency matter → Azure Functions</li>
</ul>



<h3 class="wp-block-heading">3. Maintainability</h3>



<ul class="wp-block-list">
<li>If the solution needs to be maintained by non-developers → Power Automate</li>



<li>If it requires structured code and versioning → Azure Functions</li>
</ul>



<h3 class="wp-block-heading">4. Scalability</h3>



<ul class="wp-block-list">
<li>Small, event-driven workflows → Power Automate</li>



<li>High-volume or compute-heavy workloads → Azure Functions</li>
</ul>



<h3 class="wp-block-heading">5. Control and Flexibility</h3>



<ul class="wp-block-list">
<li>Limited customization needed → Power Automate</li>



<li>Full control over behaviour and output → Azure Functions</li>
</ul>



<h2 class="wp-block-heading">Common Mistakes</h2>



<h3 class="wp-block-heading">1. Overusing Power Automate</h3>



<p>Trying to implement everything in flows often leads to:</p>



<ul class="wp-block-list">
<li>Nested conditions and loops</li>



<li>Hard-to-read expressions</li>



<li>Difficult troubleshooting</li>
</ul>



<h3 class="wp-block-heading">2. Putting Business Logic in the Wrong Layer</h3>



<p>Flows should orchestrate—not replace application logic.</p>



<p>Heavy logic in flows can:</p>



<ul class="wp-block-list">
<li>Reduce clarity</li>



<li>Increase maintenance overhead</li>



<li>Limit reuse</li>
</ul>



<h3 class="wp-block-heading">3. Ignoring Hybrid Approaches</h3>



<p>The best solutions often combine both:</p>



<ul class="wp-block-list">
<li>Power Automate for orchestration</li>



<li>Azure Functions for processing</li>
</ul>



<p>This separation creates cleaner, more maintainable systems.</p>



<h2 class="wp-block-heading">Recommended Architecture Pattern</h2>



<p>A practical pattern that works well:</p>



<ol class="wp-block-list">
<li>Power Pages (or another client) triggers a Power Automate flow</li>



<li>Power Automate handles validation and orchestration</li>



<li>Complex processing is delegated to Azure Functions</li>



<li>Results are returned and handled by the flow</li>
</ol>



<p>This pattern keeps responsibilities clear and avoids overloading any single component.</p>



<h2 class="wp-block-heading">When to Use Power Automate</h2>



<p>Use Power Automate when:</p>



<ul class="wp-block-list">
<li>You are building workflows and integrations</li>



<li>Logic is relatively simple</li>



<li>Business users may need to understand or modify the flow</li>



<li>You want quick implementation with minimal code</li>
</ul>



<h2 class="wp-block-heading">When to Use Azure Functions</h2>



<p>Use Azure Functions when:</p>



<ul class="wp-block-list">
<li>You need full control over logic</li>



<li>Processing involves files, documents, or complex transformations</li>



<li>Performance is important</li>



<li>You need reusable, testable components</li>
</ul>



<h2 class="wp-block-heading">Final Thoughts</h2>



<p>Choosing between Power Automate and Azure Functions is not about picking a winner it’s about understanding their roles.</p>



<p>Power Automate excels at <strong>connecting systems and orchestrating workflows</strong>.<br>Azure Functions excel at <strong>executing complex, high-performance logic</strong>.</p>



<p>The most effective solutions use both in the layer where they provide the most value.</p>



<p>Getting this balance right can significantly improve performance, maintainability, and scalability in Power Platform solutions.</p>



<p></p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fpower-platform%2Fwhen-to-use-power-automate-vs-azure-functions-in-power-platform-solutions&#038;title=When%20to%20Use%20Power%20Automate%20vs%20Azure%20Functions%20in%20Power%20Platform%20Solutions" data-a2a-url="http://www.bazerbashi.com/power-platform/when-to-use-power-automate-vs-azure-functions-in-power-platform-solutions" data-a2a-title="When to Use Power Automate vs Azure Functions in Power Platform Solutions"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/power-platform/when-to-use-power-automate-vs-azure-functions-in-power-platform-solutions">When to Use Power Automate vs Azure Functions in Power Platform Solutions</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/power-platform/when-to-use-power-automate-vs-azure-functions-in-power-platform-solutions/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Fixing Accessibility Issues in Word-to-PDF Conversion (Power Automate + OpenXML)</title>
		<link>http://www.bazerbashi.com/power-platform/fixing-accessibility-issues-in-word-to-pdf-conversion-power-automate-openxml</link>
					<comments>http://www.bazerbashi.com/power-platform/fixing-accessibility-issues-in-word-to-pdf-conversion-power-automate-openxml#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Tue, 21 Apr 2026 19:46:38 +0000</pubDate>
				<category><![CDATA[Power Platform]]></category>
		<category><![CDATA[Azure Functions]]></category>
		<category><![CDATA[Power Automate]]></category>
		<guid isPermaLink="false">https://www.bazerbashi.com/?p=426</guid>

					<description><![CDATA[<p>Generating PDFs in enterprise applications is often treated as a straightforward task until accessibility requirements come into play. In my previous implementation of an end-to-end PDF generation pipeline using Power Pages, Power Automate, and Azure Functions, one of the biggest challenges was ensuring that the final PDF output was accessible and compliant with WCAG standards. [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/power-platform/fixing-accessibility-issues-in-word-to-pdf-conversion-power-automate-openxml">Fixing Accessibility Issues in Word-to-PDF Conversion (Power Automate + OpenXML)</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Generating PDFs in enterprise applications is often treated as a straightforward task until accessibility requirements come into play.</p>



<p>In my <a href="https://www.bazerbashi.com/power-platform/end-to-end-pdf-generation-in-power-pages-using-power-automate-and-azure-functions" target="_blank" rel="noopener" title="End-to-End PDF Generation in Power Pages Using Power Automate and Azure Functions">previous </a>implementation of an end-to-end PDF generation pipeline using Power Pages, Power Automate, and Azure Functions, one of the biggest challenges was ensuring that the final PDF output was <strong>accessible and compliant with WCAG standards</strong>.</p>



<p>This article focuses specifically on the accessibility challenges encountered during Word-to-PDF conversion and how they were addressed using OpenXML and post-processing techniques.</p>



<h2 class="wp-block-heading">The Problem</h2>



<p>Using Power Automate’s standard approach:</p>



<ul class="wp-block-list">
<li>Populate Word Template</li>



<li>Convert Word Document to PDF</li>
</ul>



<p>…produces visually correct documents, but accessibility is often compromised.</p>



<h3 class="wp-block-heading">Common Issues Observed</h3>



<ul class="wp-block-list">
<li>Lists rendered as plain paragraphs instead of structured lists</li>



<li>Checkboxes appearing as static symbols with no semantic meaning</li>



<li>Screen readers failing to interpret grouped content correctly</li>



<li>Loss of tagging and logical reading order in the final PDF</li>
</ul>



<p>For users relying on assistive technologies, these issues make the document difficult—or even impossible—to navigate.</p>



<h2 class="wp-block-heading">Why This Happens</h2>



<p>Power Automate’s document generation process focuses primarily on <strong>visual rendering</strong>, not semantic structure.</p>



<h3 class="wp-block-heading">Key Limitations</h3>



<ul class="wp-block-list">
<li>Word templates populated via Power Automate do not always preserve semantic elements</li>



<li>The built-in PDF conversion process does not guarantee proper tagging</li>



<li>Complex controls (like repeating sections) are flattened into static content</li>



<li>Accessibility metadata is either lost or never created</li>
</ul>



<p>In short:<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The output looks right, but it isn’t <em>structured</em> correctly.</p>



<h2 class="wp-block-heading">The Approach</h2>



<p>To solve this, I introduced a <strong>post-processing step using an Azure Function</strong>.</p>



<h3 class="wp-block-heading">Updated Flow</h3>



<ol class="wp-block-list">
<li>Power Automate generates the Word document</li>



<li>The document is sent to an Azure Function</li>



<li>OpenXML is used to modify the document structure</li>



<li>The updated document is converted to PDF using a library that supports accessibility</li>



<li>The final PDF is returned to the client</li>
</ol>



<p>This approach shifts control from “template-only” to <strong>full document manipulation</strong>.</p>



<h2 class="wp-block-heading">Key Fixes Implemented</h2>



<h3 class="wp-block-heading">1. Converting Plain Text to Structured Lists</h3>



<p><strong>Problem</strong><br>Bullet points generated via templates were interpreted as plain text by screen readers.</p>



<p><strong>Solution</strong><br>Using OpenXML:</p>



<ul class="wp-block-list">
<li>Identify sections representing lists</li>



<li>Replace text-based bullets with proper list elements</li>



<li>Ensure correct numbering or bullet hierarchy</li>
</ul>



<p><strong>Result</strong><br>Screen readers can now:</p>



<ul class="wp-block-list">
<li>Recognize lists</li>



<li>Navigate between items</li>



<li>Announce the structure properly</li>
</ul>



<h3 class="wp-block-heading">2. Improving Checkbox Representation</h3>



<p><strong>Problem</strong><br>Checkboxes were rendered as symbols (e.g., <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2611.png" alt="☑" class="wp-smiley" style="height: 1em; max-height: 1em;" /> or ☐), with no semantic meaning.</p>



<p><strong>Solution</strong></p>



<ul class="wp-block-list">
<li>Detect checkbox placeholders in the document</li>



<li>Replace them with structured representations</li>



<li>Ensure consistent labelling and context</li>
</ul>



<p><strong>Result</strong><br>Users relying on assistive technologies can understand:</p>



<ul class="wp-block-list">
<li>Whether an option is selected</li>



<li>What the option represents</li>
</ul>



<h3 class="wp-block-heading">3. Restoring Document Structure</h3>



<p><strong>Problem</strong><br>Sections like grouped answers or repeated data lost their logical hierarchy.</p>



<p><strong>Solution</strong></p>



<ul class="wp-block-list">
<li>Reorganize document elements using OpenXML</li>



<li>Apply consistent heading and grouping patterns</li>



<li>Maintain a logical reading order</li>
</ul>



<p><strong>Result</strong></p>



<ul class="wp-block-list">
<li>Improved navigation for screen readers</li>



<li>Better alignment with accessibility standards</li>
</ul>



<h3 class="wp-block-heading">4. Ensuring Proper PDF Conversion</h3>



<p><strong>Problem</strong><br>Even with a well-structured Word document, conversion tools can break accessibility.</p>



<p><strong>Solution</strong></p>



<ul class="wp-block-list">
<li>Use a PDF conversion library that supports accessible output</li>



<li>Ensure tagging and structure are preserved during conversion</li>
</ul>



<p><strong>Result</strong></p>



<ul class="wp-block-list">
<li>Final PDF retains semantic structure</li>



<li>Compatible with screen readers and accessibility tools</li>
</ul>



<h2 class="wp-block-heading">Key Lessons Learned</h2>



<h3 class="wp-block-heading">1. Accessibility Is Not Automatic</h3>



<p>Even if your source document looks structured, it doesn’t mean accessibility is preserved.</p>



<p>You must explicitly:</p>



<ul class="wp-block-list">
<li>Define structure</li>



<li>Validate output</li>



<li>Test with assistive tools</li>
</ul>



<h3 class="wp-block-heading">2. Word Templates Have Limits</h3>



<p>They are useful for:</p>



<ul class="wp-block-list">
<li>Layout</li>



<li>Simple data binding</li>
</ul>



<p>But not for:</p>



<ul class="wp-block-list">
<li>Complex structure</li>



<li>Accessibility-critical elements</li>
</ul>



<h3 class="wp-block-heading">3. Post-Processing Is Essential</h3>



<p>OpenXML provides the flexibility needed to:</p>



<ul class="wp-block-list">
<li>Modify document structure</li>



<li>Enforce consistency</li>



<li>Apply accessibility rules programmatically</li>
</ul>



<h3 class="wp-block-heading">4. Testing Is Critical</h3>



<p>Accessibility should be validated using:</p>



<ul class="wp-block-list">
<li>Screen readers</li>



<li>Keyboard navigation</li>



<li>Accessibility checkers</li>
</ul>



<p>Relying only on visual inspection is not enough.</p>



<h2 class="wp-block-heading">When to Use This Approach</h2>



<p>This method is especially useful when:</p>



<ul class="wp-block-list">
<li>Accessibility compliance is required (e.g., WCAG)</li>



<li>Documents contain structured content (lists, forms, checkboxes)</li>



<li>Output must be consumed by a wide range of users</li>



<li>Standard Power Automate capabilities are insufficient</li>
</ul>



<h2 class="wp-block-heading">Final Thoughts</h2>



<p>Accessibility is often treated as an afterthought in document generation—but it shouldn’t be.</p>



<p>By introducing a post-processing step with OpenXML and using the right PDF conversion tools, it’s possible to transform a basic document pipeline into an <strong>accessible, enterprise-grade solution</strong>.</p>



<p>If you’re working with Power Automate and generating documents for real users, investing in accessibility early will save significant effort and deliver a much better experience.</p>



<p></p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fpower-platform%2Ffixing-accessibility-issues-in-word-to-pdf-conversion-power-automate-openxml&#038;title=Fixing%20Accessibility%20Issues%20in%20Word-to-PDF%20Conversion%20%28Power%20Automate%20%2B%20OpenXML%29" data-a2a-url="http://www.bazerbashi.com/power-platform/fixing-accessibility-issues-in-word-to-pdf-conversion-power-automate-openxml" data-a2a-title="Fixing Accessibility Issues in Word-to-PDF Conversion (Power Automate + OpenXML)"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/power-platform/fixing-accessibility-issues-in-word-to-pdf-conversion-power-automate-openxml">Fixing Accessibility Issues in Word-to-PDF Conversion (Power Automate + OpenXML)</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/power-platform/fixing-accessibility-issues-in-word-to-pdf-conversion-power-automate-openxml/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>End-to-End PDF Generation in Power Pages Using Power Automate and Azure Functions</title>
		<link>http://www.bazerbashi.com/power-platform/end-to-end-pdf-generation-in-power-pages-using-power-automate-and-azure-functions</link>
					<comments>http://www.bazerbashi.com/power-platform/end-to-end-pdf-generation-in-power-pages-using-power-automate-and-azure-functions#comments</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Tue, 21 Apr 2026 19:29:09 +0000</pubDate>
				<category><![CDATA[Power Platform]]></category>
		<category><![CDATA[Azure Functions]]></category>
		<category><![CDATA[Power Automate]]></category>
		<category><![CDATA[Power Pages]]></category>
		<guid isPermaLink="false">https://www.bazerbashi.com/?p=422</guid>

					<description><![CDATA[<p>In many enterprise scenarios, generating documents is not just about producing a PDF. It’s about producing a structured, accessible, and reliable output that integrates seamlessly with existing systems. In a recent project, I implemented a complete PDF generation pipeline triggered from Power Pages, orchestrated through Power Automate, and finalized using an Azure Function for advanced [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/power-platform/end-to-end-pdf-generation-in-power-pages-using-power-automate-and-azure-functions">End-to-End PDF Generation in Power Pages Using Power Automate and Azure Functions</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>In many enterprise scenarios, generating documents is not just about producing a PDF. It’s about producing a <strong>structured, accessible, and reliable output</strong> that integrates seamlessly with existing systems.</p>



<p>In a recent project, I implemented a complete PDF generation pipeline triggered from Power Pages, orchestrated through Power Automate, and finalized using an Azure Function for advanced document processing.</p>



<p>This article walks through the architecture, key decisions, and lessons learned from building this solution.</p>



<h2 class="wp-block-heading">The Problem</h2>



<p>The requirement seemed straightforward at first:</p>



<ul class="wp-block-list">
<li>Generate a PDF from a submission in Power Pages</li>



<li>Support multiple submission types and languages</li>



<li>Ensure accessibility compliance</li>



<li>Allow triggering from both Power Pages and Dynamics 365</li>
</ul>



<p>However, standard approaches quickly showed limitations, especially around formatting and accessibility.</p>



<h2 class="wp-block-heading">Why the Standard Approach Falls Short</h2>



<p>Using Power Automate alone (Word templates + Convert to PDF action) introduces several issues:</p>



<ul class="wp-block-list">
<li>Flattened content (checkboxes and structured elements become plain text)</li>



<li>Limited support for repeating sections (especially nested data)</li>



<li>Accessibility issues (screen readers interpret content incorrectly)</li>



<li>Loss of semantic structure in the final PDF</li>
</ul>



<p>For basic documents, this works. For enterprise-grade and accessibility-compliant outputs, it doesn’t.</p>



<h2 class="wp-block-heading">Solution Overview</h2>



<p>To address these limitations, I designed a hybrid architecture combining Power Platform with Azure Functions.</p>



<h3 class="wp-block-heading">High-Level Flow</h3>



<figure class="wp-block-image size-large"><a href="https://www.bazerbashi.com/wp-content/uploads/2026/04/PDF-Sol-HighLevel-1.png"><img fetchpriority="high" decoding="async" width="1024" height="683" src="https://www.bazerbashi.com/wp-content/uploads/2026/04/PDF-Sol-HighLevel-1-1024x683.png" alt="" class="wp-image-424" srcset="http://www.bazerbashi.com/wp-content/uploads/2026/04/PDF-Sol-HighLevel-1-1024x683.png 1024w, http://www.bazerbashi.com/wp-content/uploads/2026/04/PDF-Sol-HighLevel-1-300x200.png 300w, http://www.bazerbashi.com/wp-content/uploads/2026/04/PDF-Sol-HighLevel-1-768x512.png 768w, http://www.bazerbashi.com/wp-content/uploads/2026/04/PDF-Sol-HighLevel-1-624x416.png 624w, http://www.bazerbashi.com/wp-content/uploads/2026/04/PDF-Sol-HighLevel-1.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<ol class="wp-block-list">
<li>Power Pages triggers a Power Automate flow via JavaScript</li>



<li>The flow receives parameters (RecordId, Language)</li>



<li>A core subflow determines the correct Word template</li>



<li>The template is populated dynamically</li>



<li>The document is sent to an Azure Function</li>



<li>Azure Function applies OpenXML fixes and converts to PDF</li>



<li>Base64 PDF is returned and downloaded by the client</li>
</ol>



<h2 class="wp-block-heading">Architecture Breakdown</h2>



<h3 class="wp-block-heading">1. Power Pages (Frontend Trigger)</h3>



<p>A JavaScript call triggers the flow using an HTTP endpoint:</p>



<ul class="wp-block-list">
<li>Passes parameters like <code>RecordId</code> and <code>Language</code></li>



<li>Supports multilingual document generation</li>



<li>Also reusable from Dynamics 365 via a ribbon button</li>



<li>The request first goes through built-in Power Pages security checks before invoking the backend flow</li>
</ul>



<p>This keeps the frontend lightweight and delegates processing to backend services.</p>



<h3 class="wp-block-heading">2. Power Automate (Orchestration Layer)</h3>



<p>Two flows are used:</p>



<ul class="wp-block-list">
<li><strong>Portal Flow</strong> (entry point)</li>



<li><strong>Core Flow</strong> (processing logic)</li>
</ul>



<p>Responsibilities include:</p>



<ul class="wp-block-list">
<li>Selecting the correct Word template based on submission type and language</li>



<li>Populating the template using dynamic data</li>



<li>Handling environment-specific configuration</li>



<li>Calling the Azure Function using Entra ID and OAuth for secure authentication</li>



<li>Ensuring that requests coming from Power Pages are validated through the portal flow before reaching the core processing logic</li>
</ul>



<p>Templates are stored in a <strong>service account OneDrive</strong>, ensuring consistency across environments.</p>



<h3 class="wp-block-heading">3. Word Template Strategy</h3>



<p>Templates were designed using:</p>



<ul class="wp-block-list">
<li>Plain text content controls</li>



<li>Repeating section controls for tabular data</li>



<li>Placeholder tokens for calculated values (e.g., totals)</li>
</ul>



<p>However, due to Power Automate limitations:</p>



<ul class="wp-block-list">
<li>Complex nested structures were avoided</li>



<li>Some formatting was deferred to post-processing</li>
</ul>



<h3 class="wp-block-heading">4. Azure Function (The Critical Piece)</h3>



<p>This is where the real transformation happens.</p>



<p>The Azure Function:</p>



<ul class="wp-block-list">
<li>Receives the generated Word document</li>



<li>Uses OpenXML to:
<ul class="wp-block-list">
<li>Fix bullet lists (convert plain text into structured lists)</li>



<li>Improve checkbox representation</li>



<li>Restore semantic structure for accessibility</li>
</ul>
</li>



<li>Converts the document to PDF using a third-party library (e.g., Aspose)</li>



<li>Returns the PDF as Base64</li>
</ul>



<p>This step ensures the final output is:</p>



<ul class="wp-block-list">
<li>Structurally correct</li>



<li>Accessible</li>



<li>Visually consistent</li>
</ul>



<h3 class="wp-block-heading">5. Response Handling</h3>



<p>The flow returns a Base64-encoded PDF to the frontend.</p>



<p>On the client side:</p>



<ul class="wp-block-list">
<li>JavaScript immediately triggers a download</li>



<li>No intermediate storage required</li>
</ul>



<p>This results in a seamless user experience.</p>



<h2 class="wp-block-heading">Key Design Decisions</h2>



<h3 class="wp-block-heading">Separation of Concerns</h3>



<ul class="wp-block-list">
<li>Power Automate handles orchestration</li>



<li>Azure Function handles transformation and conversion</li>
</ul>



<p>This keeps each component focused and maintainable.</p>



<h3 class="wp-block-heading">Accessibility First</h3>



<p>Instead of fixing accessibility after generation, the solution embeds it into the pipeline:</p>



<ul class="wp-block-list">
<li>Structured lists instead of plain text</li>



<li>Proper handling of semantic elements</li>



<li>Screen-reader-friendly output</li>
</ul>



<h3 class="wp-block-heading">Reusability Across Channels</h3>



<p>The same backend logic supports:</p>



<ul class="wp-block-list">
<li>Power Pages (external users)</li>



<li>Dynamics 365 (internal users)</li>
</ul>



<p>This avoids duplication and ensures consistency.</p>



<h2 class="wp-block-heading">Lessons Learned</h2>



<h3 class="wp-block-heading">1. Power Automate Is Not Enough for Complex Documents</h3>



<p>It’s great for orchestration, but limited for document fidelity and accessibility.</p>



<h3 class="wp-block-heading">2. Post-Processing Is Essential</h3>



<p>Using OpenXML after template population gives full control over structure.</p>



<h3 class="wp-block-heading">3. Accessibility Requires Intentional Design</h3>



<p>You can’t rely on default tools to produce accessible PDFs. You need to actively shape the output.</p>



<h3 class="wp-block-heading">4. Environment Configuration Matters</h3>



<p>Things like:</p>



<ul class="wp-block-list">
<li>Template storage (OneDrive paths)</li>



<li>Azure Function endpoints</li>



<li>Authentication setup</li>
</ul>



<p>…must be carefully managed across Dev, QA, UAT, and Prod.</p>



<h2 class="wp-block-heading">When to Use This Approach</h2>



<p>This architecture is ideal when:</p>



<ul class="wp-block-list">
<li>Documents must be <strong>accessible (WCAG compliant)</strong></li>



<li>Output structure matters (lists, tables, checkboxes)</li>



<li>Templates vary by language or type</li>



<li>The solution must scale across multiple environments</li>
</ul>



<h2 class="wp-block-heading">Final Thoughts</h2>



<p>What started as a simple “generate PDF” requirement quickly evolved into a full document processing pipeline.</p>



<p>By combining Power Platform with Azure Functions, it’s possible to go beyond basic automation and deliver <strong>enterprise-grade, accessible, and maintainable document solutions</strong>.</p>



<p>If you’re working with Power Pages or Dynamics 365 and need reliable document generation, this approach is worth considering.</p>



<p></p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fpower-platform%2Fend-to-end-pdf-generation-in-power-pages-using-power-automate-and-azure-functions&#038;title=End-to-End%20PDF%20Generation%20in%20Power%20Pages%20Using%20Power%20Automate%20and%20Azure%20Functions" data-a2a-url="http://www.bazerbashi.com/power-platform/end-to-end-pdf-generation-in-power-pages-using-power-automate-and-azure-functions" data-a2a-title="End-to-End PDF Generation in Power Pages Using Power Automate and Azure Functions"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/power-platform/end-to-end-pdf-generation-in-power-pages-using-power-automate-and-azure-functions">End-to-End PDF Generation in Power Pages Using Power Automate and Azure Functions</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/power-platform/end-to-end-pdf-generation-in-power-pages-using-power-automate-and-azure-functions/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Power Platform Licenses Recovery for Deactivated Users with PowerShell</title>
		<link>http://www.bazerbashi.com/power-platform/power-platform-licenses-recovery-for-deactivated-users-with-powershell</link>
					<comments>http://www.bazerbashi.com/power-platform/power-platform-licenses-recovery-for-deactivated-users-with-powershell#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Thu, 14 Nov 2024 18:58:22 +0000</pubDate>
				<category><![CDATA[Power Platform]]></category>
		<category><![CDATA[PowerShell]]></category>
		<guid isPermaLink="false">https://www.bazerbashi.com/?p=419</guid>

					<description><![CDATA[<p>When managing Power Platform for organizations and as part of my administration routine, I look at cost management for the tenant and optimize license management. I might not negotiate licenses with Microsoft, but I monitor licensing usage. Once, I noticed we were nearly consuming all available Power Apps Premium licenses, even though we had many [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/power-platform/power-platform-licenses-recovery-for-deactivated-users-with-powershell">Power Platform Licenses Recovery for Deactivated Users with PowerShell</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>When managing Power Platform for organizations and as part of my administration routine, I look at cost management for the tenant and optimize license management. I might not negotiate licenses with Microsoft, but I monitor licensing usage.</p>



<p>Once, I noticed we were nearly consuming all available Power Apps Premium licenses, even though we had many licenses. Upon closer look and research, I discovered that their licenses are not automatically freed when we deactivate or delete users (soft delete).</p>



<p>I wanted to quickly see all deactivated/soft-deleted users who still have licenses assigned to them, but I couldn&#8217;t find that option in the Power Platform Admin Center. My next step was to leverage <a href="https://learn.microsoft.com/en-us/power-platform/admin/powershell-getting-started" target="_blank" rel="noopener" title="">PowerShell for Power Platform</a> and create the following PowerShell script, which produces a CSV file containing Deactivated/Deleted users who still have licenses assigned to them. Here&#8217;s the script:</p>



<pre class="wp-block-code"><code># Install Microsoft Graph module (if not already installed)
Install-Module Microsoft.Graph -Scope CurrentUser

# Connect to Microsoft Graph with the necessary permissions
Connect-MgGraph -Scopes "User.Read.All", "Directory.Read.All"

# Function to check licenses for deactivated users
function Get-DeactivatedUserLicenses {
    # Create an array to store the results
    $results = @()

    # Fetch all deactivated users (accountEnabled is false)
    $DeactivatedUsers = Get-MgUser -Filter "accountEnabled eq false" -All

    if ($DeactivatedUsers.Count -eq 0) {
        Write-Host "No deactivated users found."
    } else {
        Write-Host "Deactivated Users and their licenses:"
        foreach ($user in $DeactivatedUsers) {
            # Get assigned licenses for each deactivated user
            $licenses = Get-MgUserLicenseDetail -UserId $user.Id
            if ($licenses.SkuId) {
                foreach ($license in $licenses.SkuId) {
                    $licenseDetail = Get-MgSubscribedSku | Where-Object { $_.SkuId -eq $license }
                    # Add user and license details to the results array
                    $results += &#91;PSCustomObject]@{
                        UserPrincipalName = $user.UserPrincipalName
                        License = $licenseDetail.SkuPartNumber
                        Status = "Deactivated"
                    }
                }
            }
        }
    }

    # Return results
    return $results
}

# Function to check licenses for deleted (soft-deleted) users
function Get-DeletedUserLicenses {
    # Create an array to store the results
    $results = @()

    # Fetch all users and filter for deleted users in PowerShell
    $AllUsers = Get-MgUser -All
    $DeletedUsers = $AllUsers | Where-Object { $_.DeletedDateTime -ne $null }

    if ($DeletedUsers.Count -eq 0) {
        Write-Host "No deleted users found."
    } else {
        Write-Host "Deleted Users and their licenses:"
        foreach ($user in $DeletedUsers) {
            # Get assigned licenses for each deleted user
            $licenses = Get-MgUserLicenseDetail -UserId $user.Id
            if ($licenses.SkuId) {
                foreach ($license in $licenses.SkuId) {
                    $licenseDetail = Get-MgSubscribedSku | Where-Object { $_.SkuId -eq $license }
                    # Add user and license details to the results array
                    $results += &#91;PSCustomObject]@{
                        UserPrincipalName = $user.UserPrincipalName
                        License = $licenseDetail.SkuPartNumber
                        Status = "Deleted"
                    }
                }
            }
        }
    }

    # Return results
    return $results
}

# Execute both functions and combine results
$deactivatedResults = Get-DeactivatedUserLicenses
$deletedResults = Get-DeletedUserLicenses
$allResults = $deactivatedResults + $deletedResults

# Filter out users with no licenses assigned
$filteredResults = $allResults | Where-Object { $_.License -ne $null }

# Export filtered results to CSV
$csvPath = "C:\OldUsersLicenses.csv"
$filteredResults | Export-Csv -Path $csvPath -NoTypeInformation

Write-Host "Results saved to $csvPath"</code></pre>



<p>I got in touch with the Admins, and we were able to free up a lot of licenses. The cool thing is that they had automation to take care of this, but they need to update some criteria in their process to take care of this.</p>



<p></p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fpower-platform%2Fpower-platform-licenses-recovery-for-deactivated-users-with-powershell&#038;title=Power%20Platform%20Licenses%20Recovery%20for%20Deactivated%20Users%20with%20PowerShell" data-a2a-url="http://www.bazerbashi.com/power-platform/power-platform-licenses-recovery-for-deactivated-users-with-powershell" data-a2a-title="Power Platform Licenses Recovery for Deactivated Users with PowerShell"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/power-platform/power-platform-licenses-recovery-for-deactivated-users-with-powershell">Power Platform Licenses Recovery for Deactivated Users with PowerShell</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/power-platform/power-platform-licenses-recovery-for-deactivated-users-with-powershell/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Continue interrupted Visual Studio 2015 Update 2 installation</title>
		<link>http://www.bazerbashi.com/programming/continue-interrupted-visual-studio-2015-update-2-installation</link>
					<comments>http://www.bazerbashi.com/programming/continue-interrupted-visual-studio-2015-update-2-installation#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Wed, 20 Apr 2016 06:19:01 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=408</guid>

					<description><![CDATA[<p>If you were installing the new Visual Studio 2015 Update 2 and the setup interrupted by bad Internet connection or some other reason; you can continue the process by running the update again but from the command line with the option of /repair like this: vs2015.2.exe /repair Then the repair starts: To get to the command line quickly [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/programming/continue-interrupted-visual-studio-2015-update-2-installation">Continue interrupted Visual Studio 2015 Update 2 installation</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>If you were installing the new Visual Studio 2015 Update 2 and the setup interrupted by bad Internet connection or some other reason; you can continue the process by running the update again but from the command line with the option of <em>/repair </em>like this:</p>
<p><code>vs2015.2.exe /repair</code></p>
<p>Then the repair starts:</p>
<p><div id="attachment_413" style="width: 224px" class="wp-caption aligncenter"><a href="http://www.bazerbashi.com/wp-content/uploads/2016/04/vs2015_2.png"><img decoding="async" aria-describedby="caption-attachment-413" class="size-medium wp-image-413" src="http://www.bazerbashi.com/wp-content/uploads/2016/04/vs2015_2-214x300.png" alt="vs2015 update 2" width="214" height="300" srcset="http://www.bazerbashi.com/wp-content/uploads/2016/04/vs2015_2-214x300.png 214w, http://www.bazerbashi.com/wp-content/uploads/2016/04/vs2015_2.png 460w" sizes="(max-width: 214px) 100vw, 214px" /></a><p id="caption-attachment-413" class="wp-caption-text">vs2015 update 2</p></div></p>
<p>To get to the command line quickly and make it point to the correct location of your file you can use <em>SHIFT + Right Click </em>then choose <em>Open Command window here</em>:</p>
<p><div id="attachment_410" style="width: 267px" class="wp-caption aligncenter"><a href="http://www.bazerbashi.com/wp-content/uploads/2016/04/CommandHere.png"><img decoding="async" aria-describedby="caption-attachment-410" class="size-full wp-image-410" src="http://www.bazerbashi.com/wp-content/uploads/2016/04/CommandHere.png" alt="Open Command Here" width="257" height="273" /></a><p id="caption-attachment-410" class="wp-caption-text">Open Command Here</p></div></p>
<p>I like Windows 10 shortcuts <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fprogramming%2Fcontinue-interrupted-visual-studio-2015-update-2-installation&#038;title=Continue%20interrupted%20Visual%20Studio%202015%20Update%202%20installation" data-a2a-url="http://www.bazerbashi.com/programming/continue-interrupted-visual-studio-2015-update-2-installation" data-a2a-title="Continue interrupted Visual Studio 2015 Update 2 installation"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/programming/continue-interrupted-visual-studio-2015-update-2-installation">Continue interrupted Visual Studio 2015 Update 2 installation</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/programming/continue-interrupted-visual-studio-2015-update-2-installation/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Application Insights problem with a team project</title>
		<link>http://www.bazerbashi.com/programming/application-insights-problem-with-a-team-project</link>
					<comments>http://www.bazerbashi.com/programming/application-insights-problem-with-a-team-project#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Sat, 15 Aug 2015 07:55:46 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Azure]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=400</guid>

					<description><![CDATA[<p>A few days ago I started testing the process of developing Windows 10 universal application and I wanted to test integrating some of Microsoft Azure in my app. I created a new repository in Visual Studio Online (I love it ❤) and went back to Visual Studio 2015 to create my project. While creating a new project [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/programming/application-insights-problem-with-a-team-project">Application Insights problem with a team project</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>A few days ago I started testing the process of developing Windows 10 universal application and I wanted to test integrating some of Microsoft Azure in my app.</p>
<p>I created a new repository in <a href="https://www.visualstudio.com/products/what-is-visual-studio-online-vs" target="_blank">Visual Studio Online</a> (I love it <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2764.png" alt="❤" class="wp-smiley" style="height: 1em; max-height: 1em;" />) and went back to Visual Studio 2015 to create my project. While creating a new project you can connect to the source control right away and you can configure <a href="http://azure.microsoft.com/en-us/services/application-insights/" target="_blank">Application Insights</a> for your project automatically.</p>
<p><a href="http://www.bazerbashi.com/wp-content/uploads/2015/08/Insights.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-401" src="http://www.bazerbashi.com/wp-content/uploads/2015/08/Insights-300x249.png" alt="Application Insights" width="300" height="249" srcset="http://www.bazerbashi.com/wp-content/uploads/2015/08/Insights-300x249.png 300w, http://www.bazerbashi.com/wp-content/uploads/2015/08/Insights-624x517.png 624w, http://www.bazerbashi.com/wp-content/uploads/2015/08/Insights.png 724w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>After hitting the OK button the project started connecting to the source and then trying to configure the Application Insights when I got the error message: <em>Could not add Application insights to project. The NuGet package install failed to add the Applicationinsights.config file.</em></p>
<p><a href="http://www.bazerbashi.com/wp-content/uploads/2015/08/Insights_Err.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-402" src="http://www.bazerbashi.com/wp-content/uploads/2015/08/Insights_Err-300x223.png" alt="Insights error" width="300" height="223" srcset="http://www.bazerbashi.com/wp-content/uploads/2015/08/Insights_Err-300x223.png 300w, http://www.bazerbashi.com/wp-content/uploads/2015/08/Insights_Err-624x464.png 624w, http://www.bazerbashi.com/wp-content/uploads/2015/08/Insights_Err.png 625w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a>Maybe this is a bug since this whole thing is still in Preview and I will try to get in touch with the team behind this.</p>
<p>The simple fix was to check out the whole project, <a href="https://azure.microsoft.com/en-us/documentation/articles/app-insights-windows-get-started/#1-create-an-application-insights-resource" target="_blank">add the resource manually</a>, update the NuGet packages of the project to the latest version and then right-click on your project -&gt; Configure Application Insights.</p>
<p>I will make a post later about the experience of making a Universal Windows 10 app, Integrating with Microsoft Azure and submitting to the Store <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>&nbsp;</p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fprogramming%2Fapplication-insights-problem-with-a-team-project&#038;title=Application%20Insights%20problem%20with%20a%20team%20project" data-a2a-url="http://www.bazerbashi.com/programming/application-insights-problem-with-a-team-project" data-a2a-title="Application Insights problem with a team project"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/programming/application-insights-problem-with-a-team-project">Application Insights problem with a team project</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/programming/application-insights-problem-with-a-team-project/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Crystal Reports works on Windows 10</title>
		<link>http://www.bazerbashi.com/programming/crystal-reports-works-on-windows-10</link>
					<comments>http://www.bazerbashi.com/programming/crystal-reports-works-on-windows-10#comments</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Mon, 03 Aug 2015 07:04:42 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Crystal Reports]]></category>
		<category><![CDATA[Windows 10]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=395</guid>

					<description><![CDATA[<p>Hey guys 🙂 this is a quick post to let you know that Crystal Reports is working normally on Windows 10 and I didn&#8217;t have any problems. The Crystal Reports version I&#8217;m using is 13, so if you were holding up and afraid to upgrade don&#8217;t worry and go ahead 🙂 &#160;</p>
<p>The post <a href="http://www.bazerbashi.com/programming/crystal-reports-works-on-windows-10">Crystal Reports works on Windows 10</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Hey guys <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> this is a quick post to let you know that Crystal Reports is working normally on Windows 10 and I didn&#8217;t have any problems.</p>
<p><a href="http://www.bazerbashi.com/wp-content/uploads/2015/08/Win10_CR.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-396 size-full" src="http://www.bazerbashi.com/wp-content/uploads/2015/08/Win10_CR.png" alt="Windows 10 Crystal Reports" width="985" height="787" srcset="http://www.bazerbashi.com/wp-content/uploads/2015/08/Win10_CR.png 985w, http://www.bazerbashi.com/wp-content/uploads/2015/08/Win10_CR-300x240.png 300w, http://www.bazerbashi.com/wp-content/uploads/2015/08/Win10_CR-624x499.png 624w" sizes="auto, (max-width: 985px) 100vw, 985px" /></a></p>
<p>The Crystal Reports version I&#8217;m using is 13, so if you were holding up and afraid to upgrade don&#8217;t worry and go ahead <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>&nbsp;</p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fprogramming%2Fcrystal-reports-works-on-windows-10&#038;title=Crystal%20Reports%20works%20on%20Windows%2010" data-a2a-url="http://www.bazerbashi.com/programming/crystal-reports-works-on-windows-10" data-a2a-title="Crystal Reports works on Windows 10"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/programming/crystal-reports-works-on-windows-10">Crystal Reports works on Windows 10</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/programming/crystal-reports-works-on-windows-10/feed</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
		<item>
		<title>Set DateTimePicker control value to Null</title>
		<link>http://www.bazerbashi.com/programming/set-datetimepicker-control-value-to-null</link>
					<comments>http://www.bazerbashi.com/programming/set-datetimepicker-control-value-to-null#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Tue, 19 Aug 2014 07:54:21 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[VB.NET]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=381</guid>

					<description><![CDATA[<p>I achieve this by handling the Binding Source that the control is binding to and enabling the ShowCheckBox property. The .NET DateTimePicker doesn&#8217;t accept blank or NULL value. I&#8217;ve seen many posts online that extend the controller to accept NULL value like this one or some other posts to change the formatting to custom and switching back again. [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/programming/set-datetimepicker-control-value-to-null">Set DateTimePicker control value to Null</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>I achieve this by handling the Binding Source that the control is binding to and enabling the <em>ShowCheckBox</em> property.</p>
<p>The .NET DateTimePicker doesn&#8217;t accept blank or NULL value. I&#8217;ve seen many posts online that extend the controller to accept NULL value like <a title="Nullable DateTimePicker" href="http://www.codeproject.com/Articles/5428/Nullable-DateTimePicker" target="_blank">this one</a> or some other posts to change the formatting to custom and switching back again.</p>
<p>So if you don&#8217;t feel like adding a new custom control to your project just handle the underlying data source.</p>
<p><a href="http://www.bazerbashi.com/wp-content/uploads/2014/08/DateTimePicker_Checkbox.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-382" src="http://www.bazerbashi.com/wp-content/uploads/2014/08/DateTimePicker_Checkbox-300x109.png" alt="DateTimePicker with CheckBoxes" width="300" height="109" srcset="http://www.bazerbashi.com/wp-content/uploads/2014/08/DateTimePicker_Checkbox-300x109.png 300w, http://www.bazerbashi.com/wp-content/uploads/2014/08/DateTimePicker_Checkbox.png 495w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a>Since I had many of the DateTimePicker controls, I made one function that handles the <em>Leave</em> event of each one like so:</p>
<p>[vb]<br />
    Private Sub DateTimePicker_Leave(sender As System.Object, e As System.EventArgs) Handles Inv_OriginalDateTimePicker.Leave<br />
        &#8216;Handle the DateTimePicker so when it is unchecked it saves Null value<br />
        Dim dt As DateTimePicker = sender</p>
<p>        If Not dt.Checked Then<br />
            &#8216;Get the current record<br />
            Dim row = DirectCast(Me.PO_JobsBindingSource.Current, DataRowView)</p>
<p>            row(dt.DataBindings.Item(&quot;Value&quot;).BindingMemberInfo.BindingField.ToString) = DBNull.Value</p>
<p>        End If<br />
    End Sub<br />
[/vb]</p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fprogramming%2Fset-datetimepicker-control-value-to-null&#038;title=Set%20DateTimePicker%20control%20value%20to%20Null" data-a2a-url="http://www.bazerbashi.com/programming/set-datetimepicker-control-value-to-null" data-a2a-title="Set DateTimePicker control value to Null"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/programming/set-datetimepicker-control-value-to-null">Set DateTimePicker control value to Null</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/programming/set-datetimepicker-control-value-to-null/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Moving items between bound Listboxes</title>
		<link>http://www.bazerbashi.com/programming/moving-items-between-bound-listboxes</link>
					<comments>http://www.bazerbashi.com/programming/moving-items-between-bound-listboxes#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Sun, 30 Mar 2014 09:11:05 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[VB.NET]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=362</guid>

					<description><![CDATA[<p>The other day I wanted to add news tags feature to a program, and to make it easy I wanted the user to be able of adding and removing news tags by double clicking a Listbox of available tags and assigned tags. If you need to move items between bound Listboxes you cannot just use the Listbox.Add or Listbox.Remove [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/programming/moving-items-between-bound-listboxes">Moving items between bound Listboxes</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>The other day I wanted to add news tags feature to a program, and to make it easy I wanted the user to be able of adding and removing news tags by double clicking a Listbox of available tags and assigned tags.</p>
<p style="text-align: center;"><a href="http://www.bazerbashi.com/wp-content/uploads/2014/03/Bound_Listboxes.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-363" alt="How I wanted Listboxes Tags to work" src="http://www.bazerbashi.com/wp-content/uploads/2014/03/Bound_Listboxes-300x118.png" width="300" height="118" srcset="http://www.bazerbashi.com/wp-content/uploads/2014/03/Bound_Listboxes-300x118.png 300w, http://www.bazerbashi.com/wp-content/uploads/2014/03/Bound_Listboxes-624x246.png 624w, http://www.bazerbashi.com/wp-content/uploads/2014/03/Bound_Listboxes.png 850w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>If you need to move items between bound Listboxes you cannot just use the Listbox.Add or Listbox.Remove methods. Instead you should add and remove rows to the Tables which they&#8217;re bound to.</p>
<p>This is the code I used:</p>
<p>[vb]<br />
    Private Sub AvailableTagListBox_DoubleClick(sender As System.Object, e As System.EventArgs) Handles AvailableTagListBox.DoubleClick<br />
        If Not IsNothing(AvailableTagListBox.SelectedItem) Then<br />
            &#8216;We are making a new row to be added to the table which then will appear in the listbox<br />
            Dim Customer_News_Tags_Row As DataRow = MyDataSet.Customer_News_Tags.NewRow<br />
            &#8216;Since I have a Parent and Child relation I&#8217;m taking the current parent ID<br />
            Dim NewsRow = DirectCast(Me.Customer_NewsBindingSource.Current, DataRowView)<br />
            &#8216;Parent ID<br />
            Customer_News_Tags_Row(&quot;News_ID&quot;) = NewsRow(&quot;ID&quot;)<br />
            &#8216;Fill the listbox item display field which I have it bound to<br />
            Customer_News_Tags_Row(&quot;Tag&quot;) = AvailableTagListBox.Text</p>
<p>            &#8216;Adding new item to the other listbox by adding new row to its table<br />
            MyDataSet.Customer_News_Tags.AddCustomer_News_TagsRow(Customer_News_Tags_Row)<br />
            &#8216;Delete the listbox item by deleting the row in its table<br />
            MyDataSet.News_Tags.Select(&quot;ID=&quot; &amp; AvailableTagListBox.SelectedValue)(0).Delete()</p>
<p>        End If</p>
<p>    End Sub</p>
<p>    Private Sub AssignedTagListBox_DoubleClick(sender As System.Object, e As System.EventArgs) Handles AssignedTagListBox.DoubleClick<br />
        If Not IsNothing(AssignedTagListBox.SelectedItem) Then</p>
<p>            Dim News_Tags_Row As DataRow = MyDataSet.News_Tags.NewRow<br />
            &#8216;I&#8217;m using a field called Tag<br />
            News_Tags_Row(&quot;Tag&quot;) = AssignedTagListBox.Text</p>
<p>            MyDataSet.News_Tags.AddNews_TagsRow(News_Tags_Row)<br />
            &#8216;Here I&#8217;m matching with a field I have called Tag to delete from Assigned listbox items<br />
            MyDataSet.Customer_News_Tags.Select(&quot;Tag=&#8217;&quot; &amp; AssignedTagListBox.SelectedValue &amp; &quot;&#8217;&quot;)(0).Delete()</p>
<p>        End If<br />
    End Sub<br />
[/vb]</p>
<p>Hope this helps, and if you need any clarifications let me know <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fprogramming%2Fmoving-items-between-bound-listboxes&#038;title=Moving%20items%20between%20bound%20Listboxes" data-a2a-url="http://www.bazerbashi.com/programming/moving-items-between-bound-listboxes" data-a2a-title="Moving items between bound Listboxes"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/programming/moving-items-between-bound-listboxes">Moving items between bound Listboxes</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/programming/moving-items-between-bound-listboxes/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Move project to another Visual Studio Online account</title>
		<link>http://www.bazerbashi.com/programming/move-project-to-another-visual-studio-online-account</link>
					<comments>http://www.bazerbashi.com/programming/move-project-to-another-visual-studio-online-account#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Thu, 27 Feb 2014 07:51:30 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[TFS]]></category>
		<category><![CDATA[Tips]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=354</guid>

					<description><![CDATA[<p>Let&#8217;s say you have a project source hosted in your private Visual Studio Online (Team Foundation Service) account and you want to move it to another account. The easiest way I found is to connect to the new account from Visual Studio (File-&#62;Connect to Team Project) and add the items to the source control: Assuming you already have the [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/programming/move-project-to-another-visual-studio-online-account">Move project to another Visual Studio Online account</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Let&#8217;s say you have a project source hosted in your private <a href="http://www.visualstudio.com" target="_blank">Visual Studio Online</a> (Team Foundation Service) account and you want to move it to another account. The easiest way I found is to connect to the new account from Visual Studio (File-&gt;Connect to Team Project) and add the items to the source control:</p>
<p><a href="http://www.bazerbashi.com/wp-content/uploads/2014/02/TFS_AddItems1.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-356" alt="TFS Add Items" src="http://www.bazerbashi.com/wp-content/uploads/2014/02/TFS_AddItems1-185x300.png" width="185" height="300" srcset="http://www.bazerbashi.com/wp-content/uploads/2014/02/TFS_AddItems1-185x300.png 185w, http://www.bazerbashi.com/wp-content/uploads/2014/02/TFS_AddItems1.png 334w" sizes="auto, (max-width: 185px) 100vw, 185px" /></a></p>
<p>Assuming you already have the source on your computer, just select them to be added. Also It will ask you to map a new work space for this new source:</p>
<p><a href="http://www.bazerbashi.com/wp-content/uploads/2014/02/TFS_WorkSpace.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-357" alt="TFS Map WorkSpace" src="http://www.bazerbashi.com/wp-content/uploads/2014/02/TFS_WorkSpace-300x27.png" width="300" height="27" srcset="http://www.bazerbashi.com/wp-content/uploads/2014/02/TFS_WorkSpace-300x27.png 300w, http://www.bazerbashi.com/wp-content/uploads/2014/02/TFS_WorkSpace-624x56.png 624w, http://www.bazerbashi.com/wp-content/uploads/2014/02/TFS_WorkSpace.png 628w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Hit finish and then you are ready to check in the files.</p>
<p>I&#8217;ve been using <a href="http://www.visualstudio.com" target="_blank">Visual Studio Online</a> for few months now since it was in beta when it was called Team Foundation Service and I totally love it!</p>
<p>The service gives you the ability to collaborate for free for up to 5 members and then you need to license users. I used it to collaborate with a friend and it gave us great help and it was very easy to use. Even though it is great for collaboration but I think you can use it also on your own for good maintenance.</p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fprogramming%2Fmove-project-to-another-visual-studio-online-account&#038;title=Move%20project%20to%20another%20Visual%20Studio%20Online%20account" data-a2a-url="http://www.bazerbashi.com/programming/move-project-to-another-visual-studio-online-account" data-a2a-title="Move project to another Visual Studio Online account"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/programming/move-project-to-another-visual-studio-online-account">Move project to another Visual Studio Online account</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/programming/move-project-to-another-visual-studio-online-account/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>GameMaker Studio with Visual Studio 2013 settings</title>
		<link>http://www.bazerbashi.com/programming/gamemaker-studio-with-visual-studio-2013-settings</link>
					<comments>http://www.bazerbashi.com/programming/gamemaker-studio-with-visual-studio-2013-settings#comments</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Sun, 26 Jan 2014 11:01:40 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=350</guid>

					<description><![CDATA[<p>If you are trying to use GamerMaker Studio wih Visual Studio 2013 and getting the error Unable to validate WinJS API Reference even though you prepared the requirements you have to change the settings to point to Visual Studio 2013 directory and change the WinJS version to 2 like in the following screenshot: Note that I have pointed [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/programming/gamemaker-studio-with-visual-studio-2013-settings">GameMaker Studio with Visual Studio 2013 settings</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>If you are trying to use <a title="GamerMaker Studio" href="http://www.yoyogames.com/studio" target="_blank">GamerMaker Studio</a> wih Visual Studio 2013 and getting the error Unable to validate WinJS API Reference even though you prepared the <a href="http://help.yoyogames.com/entries/22361996-Preparing-GameMaker-Studio-for-Windows-8" target="_blank">requirements</a> you have to change the settings to point to Visual Studio 2013 directory and change the WinJS version to 2 like in the following screenshot:</p>
<p><a href="http://www.bazerbashi.com/wp-content/uploads/2014/01/GameMakerVS2013.png"><img loading="lazy" decoding="async" class="aligncenter size-medium wp-image-351" alt="Game Maker VS2013" src="http://www.bazerbashi.com/wp-content/uploads/2014/01/GameMakerVS2013-300x231.png" width="300" height="231" srcset="http://www.bazerbashi.com/wp-content/uploads/2014/01/GameMakerVS2013-300x231.png 300w, http://www.bazerbashi.com/wp-content/uploads/2014/01/GameMakerVS2013.png 621w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Note that I have pointed the Windows SDk to 8.1 since I&#8217;ve got Windows 8.1.</p>
<p>&nbsp;</p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fprogramming%2Fgamemaker-studio-with-visual-studio-2013-settings&#038;title=GameMaker%20Studio%20with%20Visual%20Studio%202013%20settings" data-a2a-url="http://www.bazerbashi.com/programming/gamemaker-studio-with-visual-studio-2013-settings" data-a2a-title="GameMaker Studio with Visual Studio 2013 settings"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/programming/gamemaker-studio-with-visual-studio-2013-settings">GameMaker Studio with Visual Studio 2013 settings</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/programming/gamemaker-studio-with-visual-studio-2013-settings/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Crystal Reports Unknown Database Connector Error</title>
		<link>http://www.bazerbashi.com/programming/crystal-reports-unknown-database-connector-error</link>
					<comments>http://www.bazerbashi.com/programming/crystal-reports-unknown-database-connector-error#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Thu, 02 Jan 2014 14:29:57 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=340</guid>

					<description><![CDATA[<p>I was working on a report which involved several tables and relationships between these tables. I made sure that I&#8217;ve loaded and filled the table sources I tried launching my report but kept on getting the error &#8220;Unknown Database Connector Error&#8221;. After a little bit of debugging what I suspected was true. You have to [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/programming/crystal-reports-unknown-database-connector-error">Crystal Reports Unknown Database Connector Error</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>I was working on a report which involved several tables and relationships between these tables.</p>
<p>I made sure that I&#8217;ve loaded and filled the table sources I tried launching my report but kept on getting the error &#8220;Unknown Database Connector Error&#8221;.</p>
<p>After a little bit of debugging what I suspected was true. You have to make sure that the tables or the tables&#8217; links are executed in a correct order that doesn&#8217;t break the relations.<br />
Basically it is best to load the father tables and then children tables.</p>
<p>To do that open the Database Expert which comes with Crystal Reports -> Links -> Order Links</p>
<p><a href="http://www.bazerbashi.com/wp-content/uploads/2014/01/CR_Link_Order.png"><img loading="lazy" decoding="async" src="http://www.bazerbashi.com/wp-content/uploads/2014/01/CR_Link_Order-300x198.png" alt="Crystal Reports Link Order" width="300" height="198" class="aligncenter size-medium wp-image-342" srcset="http://www.bazerbashi.com/wp-content/uploads/2014/01/CR_Link_Order-300x198.png 300w, http://www.bazerbashi.com/wp-content/uploads/2014/01/CR_Link_Order-624x412.png 624w, http://www.bazerbashi.com/wp-content/uploads/2014/01/CR_Link_Order.png 942w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>It worked for me without checking the &#8220;Link ordering is enforced&#8221;.</p>
<p>Hope this helps <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fprogramming%2Fcrystal-reports-unknown-database-connector-error&#038;title=Crystal%20Reports%20Unknown%20Database%20Connector%20Error" data-a2a-url="http://www.bazerbashi.com/programming/crystal-reports-unknown-database-connector-error" data-a2a-title="Crystal Reports Unknown Database Connector Error"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/programming/crystal-reports-unknown-database-connector-error">Crystal Reports Unknown Database Connector Error</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/programming/crystal-reports-unknown-database-connector-error/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Editable bound DataGridView ComboBox</title>
		<link>http://www.bazerbashi.com/programming/editable-bound-datagridview-combobox</link>
					<comments>http://www.bazerbashi.com/programming/editable-bound-datagridview-combobox#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Mon, 16 Dec 2013 08:08:37 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[VB.NET]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=315</guid>

					<description><![CDATA[<p>A bound DataGridView ComboBox Column doesn&#8217;t allow user input. You might come across a situation where you need to make it easier for the user to select an item from the ComboBox and at the same time allow them to just enter free text. The trick is to make the ComboBox column without a DataSource and [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/programming/editable-bound-datagridview-combobox">Editable bound DataGridView ComboBox</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>A bound DataGridView ComboBox Column doesn&#8217;t allow user input. You might come across a situation where you need to make it easier for the user to select an item from the ComboBox and at the same time allow them to just enter free text.</p>
<p>The trick is to make the ComboBox column without a DataSource and then you load the items by code. Also you have to handle a couple of stuff such as the EditingControlShowing event to convert the ComboBox style to be DropDown instead of DropDownList, and some other handling to commit the ComboBox change.</p>
<p>I will leave you with the code:<br />
[vb]Private Sub MyForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load</p>
<p>    &#8216;Get ComboBox items<br />
    Me.ComboBoxTableAdapter.Fill(Me.MyDataSet.ComboBoxTable)</p>
<p>    &#8216;Fill the ComboBox<br />
    Dim row As DataRow<br />
    For Each row In Me.MyDataSet.ComboBoxTable<br />
        &#8216;Generic list used as a trick to have the ComboBox Items added with Value<br />
        MyComboBox.Items.Add(New GenericListItem(Of String)(row.Item(&quot;ColName&quot;), row.Item(&quot;ColValue&quot;)))</p>
<p>    Next</p>
<p>    Me.GridTableAdapter.Fill(Me.MyDataSet.GridTable)</p>
<p>    &#8216;Adding Grid handler to detect change in run time<br />
    AddHandler MyDataGridView.CurrentCellDirtyStateChanged, AddressOf MyDataGridView_CurrentCellDirtyStateChanged</p>
<p>End Sub</p>
<p>&#8216;Change ComboBox style to DropDown<br />
  Private MyDataGridView_EditingControlShowing(ByVal sender As Object, ByVal e As MyDataGridViewEditingControlShowingEventArgs) Handles MyDataGridView.EditingControlShowing<br />
        If TypeOf e.Control Is ComboBox Then<br />
Dim cb As ComboBox = TryCast(e.Control, ComboBox)</p>
<p>            cb.DropDownStyle = ComboBoxStyle.DropDown<br />
        End If</p>
<p>&#8216;When an item is selected from the ComboBox update the cell value<br />
        If MyDataGridView.Columns(MyDataGridView.CurrentCell.ColumnIndex).Name = &quot;MyComboBox&quot; Then<br />
Dim selectedComboBox As ComboBox = DirectCast(e.Control, ComboBox)<br />
            RemoveHandler selectedComboBox.SelectionChangeCommitted, AddressOf selectedComboBox_SelectionChangeCommitted<br />
            AddHandler selectedComboBox.SelectionChangeCommitted, AddressOf selectedComboBox_SelectionChangeCommitted</p>
<p>        End If</p>
<p>    End Sub</p>
<p>Private Sub selectedComboBox_SelectionChangeCommitted(ByVal sender As Object, ByVal e As EventArgs)<br />
    Try</p>
<p>        Dim selectedCombobox As ComboBox = DirectCast(sender, ComboBox)<br />
        If selectedCombobox.SelectedItem IsNot Nothing Then</p>
<p>            &#8216;Use the List we created earlier so we could retrieve the Value instead of the diplayed text<br />
            Dim oItem As GenericListItem(Of String) = CType(selectedCombobox.SelectedItem, GenericListItem(Of String))</p>
<p>            Me.MyDataGridView.Item(&quot;ColumnName&quot;, MyDataGridView.CurrentCell.RowIndex).Value = oItem.Value()</p>
<p>        End If</p>
<p>    Catch ex As Exception<br />
        MessageBox.Show(ex.Message)</p>
<p>    End Try<br />
End Sub</p>
<p>Private Sub MyDataGridView_CurrentCellDirtyStateChanged(ByVal sender As Object, ByVal e As EventArgs) Handles MyDataGridView.CurrentCellDirtyStateChanged<br />
    &#8216;Commit the change which was in run time so the Value changed event happens and then allow one check box<br />
    If MyDataGridView.IsCurrentCellDirty Then<br />
        MyDataGridView.CommitEdit(MyDataGridViewDataErrorContexts.Commit)<br />
    End If<br />
End Sub</p>
<p>Private Sub MyDataGridView_CellValidating(sender As Object, e As System.Windows.Forms.MyDataGridViewCellValidatingEventArgs) Handles MyDataGridView.CellValidating</p>
<p>    &#8216;Allow user to enter new values for all MyDataGridViewComboBox controls in the MyDataGridView<br />
    If (TypeOf CType(sender, MyDataGridView).EditingControl Is MyDataGridViewComboBoxEditingControl) Then<br />
        Dim cmb As MyDataGridViewComboBoxEditingControl = CType(CType(sender, MyDataGridView).EditingControl, MyDataGridViewComboBoxEditingControl)<br />
        If Not cmb Is Nothing Then<br />
            Dim grid As MyDataGridView = cmb.EditingControlMyDataGridView<br />
            Dim value As Object = cmb.Text<br />
            &#8216;// Add value to list if not there<br />
            If cmb.Items.IndexOf(value) = -1 Then<br />
                &#8216;// Must add to both the current combobox as well as the template, to avoid duplicate entries&#8230;<br />
                cmb.Items.Add(value)<br />
                Dim cmbCol As MyDataGridViewComboBoxColumn = CType(grid.Columns(grid.CurrentCell.ColumnIndex), MyDataGridViewComboBoxColumn)<br />
                If Not cmbCol Is Nothing Then<br />
                    cmbCol.Items.Add(value)<br />
                End If<br />
            End If<br />
            grid.CurrentCell.Value = value<br />
        End If<br />
    End If</p>
<p>    &#8221;Following Works for a specific combobox ///////////</p>
<p>    &#8216;If e.ColumnIndex = MyMyDataGridView.Columns(&quot;MyDataGridViewComboBoxColSize&quot;).Index Then &#8216;CType(sender, MyDataGridView).CurrentCell.ColumnIndex</p>
<p>    &#8216; &#8216;Dim cmb As ComboBox = CType(e.Control, ComboBox)</p>
<p>    &#8216; Dim cmb As MyDataGridViewComboBoxEditingControl = CType(CType(sender, MyDataGridView).EditingControl, MyDataGridViewComboBoxEditingControl)</p>
<p>    &#8216; If Not cmb Is Nothing Then</p>
<p>    &#8216; Dim grid As MyDataGridView = cmb.EditingControlMyDataGridView</p>
<p>    &#8216; Dim value As Object = cmb.Text</p>
<p>    &#8216; &#8216;// Add value to list if not there</p>
<p>    &#8216; If cmb.Items.IndexOf(value) = -1 Then</p>
<p>    &#8216; &#8216;// Must add to both the current combobox as well as the template, to avoid duplicate entries&#8230;</p>
<p>    &#8216; cmb.Items.Add(value)</p>
<p>    &#8216; Dim cmbCol As MyDataGridViewComboBoxColumn = CType(grid.Columns(grid.CurrentCell.ColumnIndex), MyDataGridViewComboBoxColumn)</p>
<p>    &#8216; If Not cmbCol Is Nothing Then</p>
<p>    &#8216; cmbCol.Items.Add(value)</p>
<p>    &#8216; End If</p>
<p>    &#8216; grid.CurrentCell.Value = value</p>
<p>    &#8216; End If</p>
<p>    &#8216; End If</p>
<p>    &#8216;End If<br />
End Sub</p>
<p>Public Class GenericListItem(Of T)<br />
    Private mText As String<br />
    Private mValue As T</p>
<p>    Public Sub New(ByVal pText As String, ByVal pValue As T)<br />
        mText = pText<br />
        mValue = pValue<br />
    End Sub</p>
<p>    Public ReadOnly Property Text() As String<br />
        Get<br />
            Return mText<br />
        End Get<br />
    End Property</p>
<p>    Public ReadOnly Property Value() As T<br />
        Get<br />
            Return mValue<br />
        End Get<br />
    End Property</p>
<p>    Public Overrides Function ToString() As String<br />
        Return mText<br />
    End Function<br />
End Class[/vb]</p>
<p>I hope this helps, and if you have any question let me know.</p>
<p>Happy coding <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fprogramming%2Feditable-bound-datagridview-combobox&#038;title=Editable%20bound%20DataGridView%20ComboBox" data-a2a-url="http://www.bazerbashi.com/programming/editable-bound-datagridview-combobox" data-a2a-title="Editable bound DataGridView ComboBox"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/programming/editable-bound-datagridview-combobox">Editable bound DataGridView ComboBox</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/programming/editable-bound-datagridview-combobox/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Learn SharePoint 2010 without installations or top hardware</title>
		<link>http://www.bazerbashi.com/programming/learn-sharepoint-2010-without-installations-or-top-hardware</link>
					<comments>http://www.bazerbashi.com/programming/learn-sharepoint-2010-without-installations-or-top-hardware#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Mon, 14 Nov 2011 12:56:43 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Tips]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/programming/learn-sharepoint-2010-without-installations-or-top-hardware</guid>

					<description><![CDATA[<p>So you have decided you want to get into SharePoint, but you find out that you need to have a pretty strong machine to run it. Actually the latest SharePoint 2010 needs 6 GB of RAM as a starting point to run well and a 64 bit Windows 2008 operating system. You could actually learn [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/programming/learn-sharepoint-2010-without-installations-or-top-hardware">Learn SharePoint 2010 without installations or top hardware</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>So you have decided you want to get into <a href="http://sharepoint.microsoft.com" target="_blank">SharePoint</a>, but you find out that you need to have a pretty strong machine to run it. Actually the latest <a href="http://sharepoint.microsoft.com" target="_blank">SharePoint</a> 2010 needs 6 GB of RAM as a starting point to run well and a 64 bit Windows 2008 operating system.</p>
<p>You could actually learn without installing a thing! Yes. Microsoft offers a great service called <a href="http://msdn.microsoft.com/en-us/aa570323" target="_blank">MSDN Virtual Labs</a>.<a href="http://www.bazerbashi.com/wp-content/uploads/2011/11/MSDNvlab.png"><img loading="lazy" decoding="async" style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="MSDN vlab" border="0" alt="MSDN vlab" align="right" src="http://www.bazerbashi.com/wp-content/uploads/2011/11/MSDNvlab_thumb.png" width="84" height="67" /></a> Using these Virtual Labs you can test and try almost every Microsoft technology and product. And of course <a href="http://msdn.microsoft.com/en-us/cc707678" target="_blank">SharePoint Virtual Labs</a> is one of them. In the Lab courses you get to learn and have hands-on experience. They even include software which you would need like <a href="http://sharepoint.microsoft.com/en-us/product/related-technologies/pages/sharepoint-designer.aspx" target="_blank">SharePoint Designer</a>. Really helpful.</p>
<p>So go on and have fun <img decoding="async" style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.bazerbashi.com/wp-content/uploads/2011/11/wlEmoticon-smile.png" /></p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fprogramming%2Flearn-sharepoint-2010-without-installations-or-top-hardware&#038;title=Learn%20SharePoint%202010%20without%20installations%20or%20top%20hardware" data-a2a-url="http://www.bazerbashi.com/programming/learn-sharepoint-2010-without-installations-or-top-hardware" data-a2a-title="Learn SharePoint 2010 without installations or top hardware"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/programming/learn-sharepoint-2010-without-installations-or-top-hardware">Learn SharePoint 2010 without installations or top hardware</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/programming/learn-sharepoint-2010-without-installations-or-top-hardware/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Make Connectify work with Avast</title>
		<link>http://www.bazerbashi.com/software/make-connectify-work-with-avast</link>
					<comments>http://www.bazerbashi.com/software/make-connectify-work-with-avast#comments</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Wed, 26 Oct 2011 14:45:08 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Tips]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=272</guid>

					<description><![CDATA[<p>Recently I updated Connectify to version 3.1 and it just stopped working. After sometime of trial and error I found out that Avast Antivirus(I have Avast Internet Security) was blocking some essential ports which Avast uses. Basically what needs to be done are two things: Enable the Internet Sharing mode in the Firewall settings Enable [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/software/make-connectify-work-with-avast">Make Connectify work with Avast</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Recently I updated <a href="http://www.connectify.me" target="_blank">Connectify</a> to version 3.1 and it just stopped working.</p>
<p>After sometime of trial and error I found out that <a href="http://www.avast.com" target="_blank">Avast</a> Antivirus(I have Avast Internet Security) was blocking some essential ports which <a href="http://www.avast.com" target="_blank">Avast</a> uses.</p>
<p>Basically what needs to be done are two things:</p>
<ol>
<li>Enable the Internet Sharing mode in the Firewall settings
<p><a href="http://www.bazerbashi.com/wp-content/uploads/2011/10/Firewall_SharingMode1.png" target="_blank"><img loading="lazy" decoding="async" style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Enable Sharing Mode" border="0" alt="Enable Sharing Mode" src="http://www.bazerbashi.com/wp-content/uploads/2011/10/Firewall_SharingMode_thumb1.png" width="244" height="221" /></a></p>
</li>
<li>Enable some Firewall packet rules for the application ConnectifyNetServices.exe
<p><a href="http://www.bazerbashi.com/wp-content/uploads/2011/10/Firewall_PacketRules1.png" target="_blank"><img loading="lazy" decoding="async" style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Enable some Packet Rules" border="0" alt="Enable some Packet Rules" src="http://www.bazerbashi.com/wp-content/uploads/2011/10/Firewall_PacketRules_thumb1.png" width="244" height="175" /></a></p>
</li>
</ol>
<p>That’s set, your ready <img decoding="async" style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.bazerbashi.com/wp-content/uploads/2011/10/wlEmoticon-smile.png" /> go ahead and try it.</p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fsoftware%2Fmake-connectify-work-with-avast&#038;title=Make%20Connectify%20work%20with%20Avast" data-a2a-url="http://www.bazerbashi.com/software/make-connectify-work-with-avast" data-a2a-title="Make Connectify work with Avast"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/software/make-connectify-work-with-avast">Make Connectify work with Avast</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/software/make-connectify-work-with-avast/feed</wfw:commentRss>
			<slash:comments>19</slash:comments>
		
		
			</item>
		<item>
		<title>Microsoft and Hadoop</title>
		<link>http://www.bazerbashi.com/programming/microsoft-and-hadoop</link>
					<comments>http://www.bazerbashi.com/programming/microsoft-and-hadoop#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Wed, 19 Oct 2011 14:48:25 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/programming/microsoft-and-hadoop</guid>

					<description><![CDATA[<p>Looks like Microsoft is going to start integrating Hadoop based services in its server and database products. The services will be implemented in Windows Server, Azure and SQL Server 2012. Hadoop open source project which is if I may say for cloud and distributed computing came to the picture as I&#160; remember when Yahoo announced [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/programming/microsoft-and-hadoop">Microsoft and Hadoop</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Looks like Microsoft is going to <a href="http://blogs.technet.com/b/microsoft_blog/archive/2011/10/12/microsoft-expands-data-platform-to-help-customers-manage-the-new-currency-of-the-cloud.aspx" target="_blank">start</a> integrating <a href="http://hadoop.apache.org" target="_blank">Hadoop</a> based services in its server and database products. The services will be implemented in Windows Server, Azure and SQL Server 2012.</p>
<p><a href="http://hadoop.apache.org" target="_blank">Hadoop</a> open source project which is if I may say for cloud and distributed computing came to the picture as I&#160; remember when Yahoo announced that they will be using it to store their data. That was long time ago. Later I also learned that other companies which need to manage their big volume of data like Google actually uses it too.</p>
<p>The good thing is that according to Microsoft’s statement is that existing Microsoft Business Intelligence tools will be compatible with <a href="http://hadoop.apache.org" target="_blank">Hadoop</a> implementation.</p>
<p>Microsoft’s <a href="http://hadoop.apache.org" target="_blank">Hadoop</a>’s efforts already showing results like a <a href="http://www.microsoft.com/download/en/details.aspx?id=27584" target="_blank">Hadoop to SQL Server connector</a> for importing and exporting and an ODBC driver for <a href="http://hive.apache.org/">Hive</a> for real time querying from business intelligence tools into <a href="http://hadoop.apache.org" target="_blank">Hadoop</a>.</p>
<p>Microsoft promised that they will contribute back whatever changes or additions they make and will commit to make it compatible with the open source project.</p>
<p>I love SQL Server and I’m glad to see this move from Microsoft. Hopefully this will help better manage big data requirements.</p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fprogramming%2Fmicrosoft-and-hadoop&#038;title=Microsoft%20and%20Hadoop" data-a2a-url="http://www.bazerbashi.com/programming/microsoft-and-hadoop" data-a2a-title="Microsoft and Hadoop"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/programming/microsoft-and-hadoop">Microsoft and Hadoop</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/programming/microsoft-and-hadoop/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to save on Mobile bills in Syria</title>
		<link>http://www.bazerbashi.com/syria/how-to-save-on-mobile-bills-in-syria</link>
					<comments>http://www.bazerbashi.com/syria/how-to-save-on-mobile-bills-in-syria#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Sun, 03 Jul 2011 07:12:47 +0000</pubDate>
				<category><![CDATA[Syria]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Tips]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=253</guid>

					<description><![CDATA[<p>Just wanted to share a few tips about reducing your mobile bill. So far we got two Mobile providers in Syria which are almost identical. SyriaTel and MTN. SMS It is not just in Syria, but in a lot of countries Mobile companies still charges a lot for SMS despite how simple it is. Lately [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/syria/how-to-save-on-mobile-bills-in-syria">How to save on Mobile bills in Syria</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Just wanted to share a few tips about reducing your mobile bill.</p>
<p>So far we got two Mobile providers in Syria which are almost identical. <a href="http://www.syriatel.sy">SyriaTel</a> and <a href="http://mtn.com.sy">MTN</a>.</p>
<p><strong><span style="font-size: small;">SMS</span></strong></p>
<p>It is not just in Syria, but in a lot of countries Mobile companies still charges a lot for SMS despite how simple it is.</p>
<p>Lately I noticed that MTN and SyriaTel are offering good bundles to reduce the SMS cost.</p>
<p>So I advice all the people who uses SMS to pick one of the offers below. It will even reduce your mobile bill while using SMS instead of calling <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> I think the 100 SMS is sweet.</p>
<p><strong>SyriaTel</strong></p>
<p>Send SMS with the code to number 1220:</p>
<table width="400" border="1" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="108"><strong>Messages</strong></td>
<td valign="top" width="96"><strong>Price</strong></td>
<td valign="top" width="100"><strong>Saving</strong></td>
<td valign="top" width="84"><strong>Code</strong></td>
</tr>
<tr>
<td valign="top" width="108">25 SMS</td>
<td valign="top" width="96">50 SYP</td>
<td valign="top" width="100">%67</td>
<td valign="top" width="84">ر 25</td>
</tr>
<tr>
<td valign="top" width="108">100 SMS</td>
<td valign="top" width="96">100 SYP</td>
<td valign="top" width="100">%83</td>
<td valign="top" width="84">ر 100</td>
</tr>
<tr>
<td valign="top" width="108">3000 SMS</td>
<td valign="top" width="100">1500 SYP</td>
<td valign="top" width="109">%92</td>
<td valign="top" width="103">ر 3000</td>
</tr>
</tbody>
</table>
<p><strong>MTN</strong></p>
<p>To subscribe call *111# and choose package number:</p>
<table width="400" border="1" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="200"><strong>Messages</strong></td>
<td valign="top" width="200"><strong>Price</strong></td>
</tr>
<tr>
<td valign="top" width="200">25 SMS</td>
<td valign="top" width="200">50 SYP</td>
</tr>
<tr>
<td valign="top" width="200">100 SMS</td>
<td valign="top" width="200">100 SYP</td>
</tr>
<tr>
<td valign="top" width="200">Unlimited</td>
<td valign="top" width="200">1500 SYP</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><strong><span style="font-size: small;">GPRS</span></strong></p>
<p>While I still think that the GPRS cost is very high, the bundles are still a way to save some money if you need to use GPRS.</p>
<p><strong>SyriaTel</strong></p>
<p>Send SMS with the code to number 1221:</p>
<table width="400" border="1" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="108"><strong>Messages</strong></td>
<td valign="top" width="96"><strong>Price</strong></td>
<td valign="top" width="100"><strong>Saving</strong></td>
<td valign="top" width="84"><strong>Code</strong></td>
</tr>
<tr>
<td valign="top" width="108">3MB</td>
<td valign="top" width="96">50 SYP</td>
<td valign="top" width="100">%33</td>
<td valign="top" width="84">ج 3</td>
</tr>
<tr>
<td valign="top" width="108">5MB</td>
<td valign="top" width="96">75 SYP</td>
<td valign="top" width="100">%40</td>
<td valign="top" width="84">ج 5</td>
</tr>
<tr>
<td valign="top" width="108">12MB</td>
<td valign="top" width="100">150 SYP</td>
<td valign="top" width="109">%50</td>
<td valign="top" width="103">ج 12</td>
</tr>
<tr>
<td valign="top" width="108">25MB</td>
<td valign="top" width="100">250 SYP</td>
<td valign="top" width="109">%60</td>
<td valign="top" width="103">ج 25</td>
</tr>
</tbody>
</table>
<p><strong>MTN</strong></p>
<p>To subscribe call *111# and choose package number:</p>
<table width="400" border="1" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="200"><strong>Messages</strong></td>
<td valign="top" width="200"><strong>Price</strong></td>
</tr>
<tr>
<td valign="top" width="200">3MB</td>
<td valign="top" width="200">50 SYP</td>
</tr>
<tr>
<td valign="top" width="200">5MB</td>
<td valign="top" width="200">75 SYP</td>
</tr>
<tr>
<td valign="top" width="200">12MB</td>
<td valign="top" width="200">150 SYP</td>
</tr>
<tr>
<td valign="top" width="200">25MB</td>
<td valign="top" width="200">250 SYP</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>Well that&#8217;s set for now, hope you like it <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fsyria%2Fhow-to-save-on-mobile-bills-in-syria&#038;title=How%20to%20save%20on%20Mobile%20bills%20in%20Syria" data-a2a-url="http://www.bazerbashi.com/syria/how-to-save-on-mobile-bills-in-syria" data-a2a-title="How to save on Mobile bills in Syria"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/syria/how-to-save-on-mobile-bills-in-syria">How to save on Mobile bills in Syria</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/syria/how-to-save-on-mobile-bills-in-syria/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Twitter Plugin for Windows Live Photo Gallery</title>
		<link>http://www.bazerbashi.com/programming/twitter-plugin-for-windows-live-photo-gallery</link>
					<comments>http://www.bazerbashi.com/programming/twitter-plugin-for-windows-live-photo-gallery#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Sat, 11 Jun 2011 11:43:34 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Open Source]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=153</guid>

					<description><![CDATA[<p>Windows Live Essentials comes with lot of awesome applications. My favorite is Windows Live Photo Gallery. Nice way of organizing and sharing your photos. Most favorite feature is facial recognition, which let you find photos by faces. After adding photos it starts recognizing faces and ask you to tag the persons in the photos. After [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/programming/twitter-plugin-for-windows-live-photo-gallery">Twitter Plugin for Windows Live Photo Gallery</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><a href="http://explore.live.com/windows-live-essentials" target="_blank">Windows Live Essentials</a> comes with lot of awesome applications.</p>
<p>My favorite is <a href="http://explore.live.com/windows-live-photo-gallery" target="_blank">Windows Live Photo Gallery</a>. Nice way of organizing and sharing your photos. Most favorite feature is facial recognition, which let you find photos by faces.</p>
<p>After adding photos it starts recognizing faces and ask you to tag the persons in the photos. After tagging people the application starts guessing the persons in the photos and asks if the guess was correct or not. And it gets better at it very fast.</p>
<p>So in the future, whenever you add new photos it will automatically tag people. I started adding really old photos, and I was surprised by its ability to guess that it&#8217;s me in a very old photo when I was about 3 years old! So smart!</p>
<p>Other great feature is how easy it is to share photos and videos. Out of the box you can submit your files to <a href="http://explore.live.com/windows-live-skydrive" target="_blank">SkyDrive</a> (Awesome free 25GB space from Microsoft), Flickr, Youtube and others. But I couldn&#8217;t find an option for Twitter!</p>
<p>That&#8217;s why I started making a Twitter plugin for Windows Live Photo Gallery. And I made it open source since I couldn&#8217;t find any open source plugin for the Windows Live Photo Gallery.</p>
<p>I used <a href="http://codeplex.com" target="_blank">CodePlex </a>to host the project and <a href="http://tortoisehg.bitbucket.org/" target="_blank">TortoiseHg</a> for distributed revision control system.</p>
<p>Please note that this project is not complete yet. What is left for now is the integration with Windows Live Gallery.</p>
<p>What I&#8217;ve finished and is working now is uploading a photo to TwitPic and then post it to Twitter along with a message. What&#8217;s left is only using the Windows Live Gallery SDK to communicate with this little application.</p>
<p>The project is hosted here: <a href="http://twitter4wlpg.codeplex.com" target="_blank">http://twitter4wlpg.codeplex.com/</a></p>
<p>You are welcome if you would like to give a hand <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fprogramming%2Ftwitter-plugin-for-windows-live-photo-gallery&#038;title=Twitter%20Plugin%20for%20Windows%20Live%20Photo%20Gallery" data-a2a-url="http://www.bazerbashi.com/programming/twitter-plugin-for-windows-live-photo-gallery" data-a2a-title="Twitter Plugin for Windows Live Photo Gallery"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/programming/twitter-plugin-for-windows-live-photo-gallery">Twitter Plugin for Windows Live Photo Gallery</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/programming/twitter-plugin-for-windows-live-photo-gallery/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Grilled Chicken breast with Lemon and Thyme</title>
		<link>http://www.bazerbashi.com/personal/grilled-chicken-breast-with-lemon-and-thyme</link>
					<comments>http://www.bazerbashi.com/personal/grilled-chicken-breast-with-lemon-and-thyme#comments</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Wed, 08 Jun 2011 06:22:57 +0000</pubDate>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Cooking]]></category>
		<category><![CDATA[Food]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=137</guid>

					<description><![CDATA[<p>Growing Thyme at home inspired me to cook something. I opened the fridge and decided to use whatever I find. Ingredients: 1/2 Kilo of skinless boneless Chicken breast 2 Lemons 3 spoons Olive oil Pepper and Salt 1 tea spoon of smashed garlic Fresh Thyme Flour (Decided not to use it) Instructions: I though it [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/personal/grilled-chicken-breast-with-lemon-and-thyme">Grilled Chicken breast with Lemon and Thyme</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Growing Thyme at home inspired me to cook something.</p>
<p>I opened the fridge and decided to use whatever I find.</p>
<p><strong>Ingredients:</strong><br />
<a href="http://www.bazerbashi.com/wp-content/uploads/2011/06/20110608-075016.jpg"><img decoding="async" class="alignnone size-full" src="http://www.bazerbashi.com/wp-content/uploads/2011/06/20110608-075016.jpg" alt="20110608-075016.jpg" /></a></p>
<ul>
<li>1/2 Kilo of skinless boneless Chicken breast</li>
<li>2 Lemons</li>
<li>3 spoons Olive oil</li>
<li>Pepper and Salt</li>
<li>1 tea spoon of smashed garlic</li>
<li>Fresh Thyme</li>
<li><del>Flour</del> (Decided not to use it)</li>
</ul>
<p><strong>Instructions:</strong></p>
<p>I though it would taste good if I soak the Chicken with Lemon, so I squeezed a Lemon and a half into a plastic bag to soak the Chicken in it. Before that I splashed the Chicken breast with some salt and pepper. After that I placed the Chicken in the bag with some fresh Thyme leafs.</p>
<p><a href="http://www.bazerbashi.com/wp-content/uploads/2011/06/20110608-075035.jpg"><img decoding="async" class="alignnone size-full" src="http://www.bazerbashi.com/wp-content/uploads/2011/06/20110608-075035.jpg" alt="20110608-075035.jpg" /></a></p>
<p>And I left it in the fridge for about an hour.</p>
<p>When it was cooking time I spilled the olive oil on the pan and was heating it up on low fire, because I know olive oil gets hot quickly. Now it is garlic time. I love garlic, actually I love eating it but not getting it ready  to be eaten. Thankfully my dear wife has already smashed some garlic and was stored in the fridge. Phew!</p>
<p>I tossed the garlic in the pan and moved them around till they started getting brown. Then I took the Chicken out of the plastic bag and started cooking it. I also spilled the Lemon which was left in the bag into the pan. Kept on flipping the Chicken until the Lemon and olive oil almost completely dried and the Chicken was brown. Yum! The smell was awesome! Oh writing this now made drool <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><a href="http://www.bazerbashi.com/wp-content/uploads/2011/06/20110608-075100.jpg"><img decoding="async" class="alignnone size-full" src="http://www.bazerbashi.com/wp-content/uploads/2011/06/20110608-075100.jpg" alt="20110608-075100.jpg" /></a></p>
<p>After the grilling was done I sprayed around some more fresh not cooked Thyme and squeezed the left half of Lemon over the Chicken. That&#8217;s set! It is now ready. To add more to the dish I just fried some french fries and I&#8217;m done.</p>
<p><a href="http://www.bazerbashi.com/wp-content/uploads/2011/06/20110608-075136.jpg"><img decoding="async" class="alignnone size-full" src="http://www.bazerbashi.com/wp-content/uploads/2011/06/20110608-075136.jpg" alt="20110608-075136.jpg" /></a></p>
<p><a href="http://www.bazerbashi.com/wp-content/uploads/2011/06/20110608-075153.jpg"><img decoding="async" class="alignnone size-full" src="http://www.bazerbashi.com/wp-content/uploads/2011/06/20110608-075153.jpg" alt="20110608-075153.jpg" /></a></p>
<p>I never did a big meal before, no bigger than a Burger with french fries, but I was happy about the results and my wife approve too <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fpersonal%2Fgrilled-chicken-breast-with-lemon-and-thyme&#038;title=Grilled%20Chicken%20breast%20with%20Lemon%20and%20Thyme" data-a2a-url="http://www.bazerbashi.com/personal/grilled-chicken-breast-with-lemon-and-thyme" data-a2a-title="Grilled Chicken breast with Lemon and Thyme"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/personal/grilled-chicken-breast-with-lemon-and-thyme">Grilled Chicken breast with Lemon and Thyme</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/personal/grilled-chicken-breast-with-lemon-and-thyme/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Thyme</title>
		<link>http://www.bazerbashi.com/personal/thyme</link>
					<comments>http://www.bazerbashi.com/personal/thyme#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Mon, 23 May 2011 16:41:15 +0000</pubDate>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Drink]]></category>
		<category><![CDATA[Food]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/thoughts/thyme</guid>

					<description><![CDATA[<p>Well I wanted to test WordPress for iPhone. Seems nice for mobile blogging. Above is what I&#8217;m drinking. Home grown Thyme! Yup. It&#8217;s awesome for when having a flu and to refresh the respiratory system. So this new WordPress iPhone app might actually get me blogging more.</p>
<p>The post <a href="http://www.bazerbashi.com/personal/thyme">Thyme</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><a href="http://www.bazerbashi.com/wp-content/uploads/2011/05/20110523-074208.jpg"><img decoding="async" src="http://www.bazerbashi.com/wp-content/uploads/2011/05/20110523-074208.jpg" alt="20110523-074208.jpg" class="alignnone size-full" /></a><br />
Well I wanted to test WordPress for iPhone. Seems nice for mobile blogging.</p>
<p>Above is what I&#8217;m drinking. Home grown Thyme! Yup. It&#8217;s awesome for when having a flu and to refresh the respiratory system.</p>
<p>So this new WordPress iPhone app might actually get me blogging more.</p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fpersonal%2Fthyme&#038;title=Thyme" data-a2a-url="http://www.bazerbashi.com/personal/thyme" data-a2a-title="Thyme"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/personal/thyme">Thyme</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/personal/thyme/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Thoughts about smart phones operating systems</title>
		<link>http://www.bazerbashi.com/technology/thoughts-about-smart-phones-operating-systems</link>
					<comments>http://www.bazerbashi.com/technology/thoughts-about-smart-phones-operating-systems#respond</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Tue, 05 Apr 2011 12:43:00 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Thoughts]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=118</guid>

					<description><![CDATA[<p>We are becoming very dependent on our mobile devices. They are being used on a daily basis for communications, getting tasks done and even for entertainment. Google has a nice video here to give you an insight of how important the mobile devices are becoming. Mobile devices comes in many different shapes and styles, but [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/technology/thoughts-about-smart-phones-operating-systems">Thoughts about smart phones operating systems</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>We are becoming very dependent on our mobile devices. They are being used on a daily basis for communications, getting tasks done and even for entertainment.</p>
<p>Google has a nice video <a href="http://www.youtube.com/watch?v=CjUcq_E4I-s" target="_blank">here</a> to give you an insight of how important the mobile devices are becoming.</p>
<p>Mobile devices comes in many different shapes and styles, but I think what is more important than the hardware is its operating system.</p>
<p><strong>Symbian</strong></p>
<p>Dead! I have used Symbian ever since I got my first mobile. They were the best back then and until just recently. But Nokia had to make a change and now they are tied with Windows Phone 7.</p>
<p><strong>Android</strong></p>
<p>Pretty much a copy cat! Maybe this is a bit harsh, but this what I really think. Of course I mean copying iOS. Same grid of icons style and many other things. The only cool thing I see about Android is how easy it is to customize everything. Heck, I can even replace the SMS app! Which personally never thought of it before. At the end I feel it is clunky and more geek oriented. Not very much for the normal user. Many analysis companies predicting its dominance in the future. In my opinion that is because it is free. Free for the hardware companies to install it on their devices. Which make them able of shipping many kinds of hardware with Android system. Still, I don&#8217;t like the user experience with it.</p>
<p>As for developing for Android you use sort of Java. Probably will use Eclipse or what ever IDE you like.</p>
<p>Coming from .NET development, I didn&#8217;t like it! The IDE compared to Visual Studio is just lame.</p>
<p><strong>Windows Phone 7</strong></p>
<p>I was so excited when I heard Microsoft are working on a new version of their mobile system which will be done from scratch. And I think they delivered. They came out with a unique design and user experience. They didn&#8217;t just imitate other operating systems! You really feel that they had researchers who worked to study each aspect of it. For example, you can see <a href="http://research.microsoft.com/en-us/news/features/wp7keyboard-042811.aspx" target="_blank">here</a> how they had a team to research the best way to make a virtual on screen keyboard.</p>
<p>Windows Phone 7 now is still a version 1 which means it still lacks some stuff and behind more mature operating systems such as Android and iOS. Also seems to have restrictions on developers more than what iOS had when it was out.</p>
<p>As Microsoft promised in Mix 11 event, all of these issues will be address with Mango update which is probably coming out on September 2011.</p>
<p>As for developing for Windows Phone 7, Microsoft got the best tools for it, and they are free!</p>
<p>Microsoft is mainly a software company, so I think they got the best developing tools.</p>
<p>Windows Phone 7 has a bright future in my opinion.</p>
<p><strong>iOS</strong></p>
<p>Smooth, currently best user experience, mature. That&#8217;s it!</p>
<p>I think Apple are truly innovators. They ask for premium prices, but in exchange they give you delicious hardware and great user experience.</p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Ftechnology%2Fthoughts-about-smart-phones-operating-systems&#038;title=Thoughts%20about%20smart%20phones%20operating%20systems" data-a2a-url="http://www.bazerbashi.com/technology/thoughts-about-smart-phones-operating-systems" data-a2a-title="Thoughts about smart phones operating systems"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/technology/thoughts-about-smart-phones-operating-systems">Thoughts about smart phones operating systems</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/technology/thoughts-about-smart-phones-operating-systems/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Qualified companies competing for the third mobile operator in Syria announced</title>
		<link>http://www.bazerbashi.com/syria/qualified-companies-competing-for-the-third-mobile-operator-in-syria-announced</link>
					<comments>http://www.bazerbashi.com/syria/qualified-companies-competing-for-the-third-mobile-operator-in-syria-announced#comments</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Thu, 02 Dec 2010 10:31:06 +0000</pubDate>
				<category><![CDATA[Syria]]></category>
		<category><![CDATA[Mobile]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=110</guid>

					<description><![CDATA[<p>According to a document released by the Syrian Ministry of Communication and Technology, the finalists companies competing to nab the license for the third mobile operator in Syria are: Emirates Telecommunications Corporation (UAE) France Telecom (France) Qatar Telecom QSC (Qatar) Saudi Telecom company (KSA) Turkcell (Turkey) After being qualified,  the companies will start submitting their [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/syria/qualified-companies-competing-for-the-third-mobile-operator-in-syria-announced">Qualified companies competing for the third mobile operator in Syria announced</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>According to a <a href="http://www.moct.gov.sy/moct/sites/default/files/Prequalification-Results.pdf" target="_blank">document</a> released by the Syrian Ministry of Communication and Technology, the finalists companies competing to nab the license for the third mobile operator in Syria are:</p>
<ul>
<li><del>Emirates Telecommunications Corporation (UAE) </del></li>
<li>France Telecom (France)</li>
<li>Qatar Telecom QSC (Qatar)</li>
<li>Saudi Telecom company (KSA)</li>
<li>Turkcell (Turkey)</li>
</ul>
<p>After being qualified,  the companies will start submitting their proposals on the 12th of December.</p>
<p>Third mobile operator, we are waiting for you <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>UPDATE:</strong> UAE Etisalat quit the bidding, they&#8217;re uncool with the regulations. <a title="Source" href="http://www.aliqtisadi.com/pages/Article.aspx?articleid=11715" target="_blank">Source</a>.</p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fsyria%2Fqualified-companies-competing-for-the-third-mobile-operator-in-syria-announced&#038;title=Qualified%20companies%20competing%20for%20the%20third%20mobile%20operator%20in%20Syria%20announced" data-a2a-url="http://www.bazerbashi.com/syria/qualified-companies-competing-for-the-third-mobile-operator-in-syria-announced" data-a2a-title="Qualified companies competing for the third mobile operator in Syria announced"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/syria/qualified-companies-competing-for-the-third-mobile-operator-in-syria-announced">Qualified companies competing for the third mobile operator in Syria announced</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/syria/qualified-companies-competing-for-the-third-mobile-operator-in-syria-announced/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Closing unnecessary Windows Services for more RAM</title>
		<link>http://www.bazerbashi.com/software/closing-unnecessary-windows-services-for-more-ram</link>
					<comments>http://www.bazerbashi.com/software/closing-unnecessary-windows-services-for-more-ram#comments</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Sun, 26 Sep 2010 13:26:43 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Tips]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=108</guid>

					<description><![CDATA[<p>After upgrading my old machine, I started installing my Development tools. One of the tools I use is Microsoft SQL Server 2008 for creating Databases and Business Intelligence. From my experience that tool is not very CPU or RAM friendly 🙂 . It runs a lot of services like the Reporting service, Integration Services&#8230;etc. I [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/software/closing-unnecessary-windows-services-for-more-ram">Closing unnecessary Windows Services for more RAM</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>After <a href="http://www.bazerbashi.com/technology/upgrading-an-old-pc" target="_blank">upgrading my old machine</a>, I started installing my Development tools. One of the tools I use is Microsoft SQL Server 2008 for creating Databases and Business Intelligence. From my experience that tool is not very CPU or RAM friendly <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> . It runs a lot of services like the Reporting service, Integration Services&#8230;etc.</p>
<p>I didn&#8217;t want these services to hog the computer for normal usage, so I created a simple batch file to close these unnecessary service.</p>
<p>To create a batch file just create a new empty text file and rename it to have the extension <strong>.bat</strong>.</p>
<p>In my batch file I&#8217;m shutting down MS SQL Server services and VMWare services:</p>
<blockquote><p>net stop VMAuthdService<br />
net stop VMnetDHCP<br />
net stop &#8220;VMware NAT Service&#8221;<br />
net stop &#8220;VMUSBArbService&#8221;<br />
net stop SQLWriter<br />
net stop SQLBrowser<br />
net stop SQLAgent$MSSQLSERVER2008<br />
net stop MSSQLFDLauncher$MSSQLSERVER2008<br />
net stop MSSQL$SQLEXPRESS<br />
net stop MSSQL$MSSQLSERVER2008<br />
net stop MSOLAP$MSSQLSERVER2008<br />
net stop MsDtsServer100<br />
net stop ReportServer$MSSQLSERVER2008</p></blockquote>
<p>Note that the SQL Services&#8217; names are probably different on your machine. It depends on what did you call your Database&#8217;s instance name.</p>
<p>Here is a <a href="http://blogs.technet.com/b/fort_sql/archive/2010/05/31/list-of-sql-server-service-names.aspx" target="_self">list of SQL Server services names</a>.</p>
<p>To start the services again, just create another batch file and use &#8220;net start&#8221; instead of &#8220;net stop&#8221;.</p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fsoftware%2Fclosing-unnecessary-windows-services-for-more-ram&#038;title=Closing%20unnecessary%20Windows%20Services%20for%20more%20RAM" data-a2a-url="http://www.bazerbashi.com/software/closing-unnecessary-windows-services-for-more-ram" data-a2a-title="Closing unnecessary Windows Services for more RAM"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/software/closing-unnecessary-windows-services-for-more-ram">Closing unnecessary Windows Services for more RAM</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/software/closing-unnecessary-windows-services-for-more-ram/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Upgrading an old PC</title>
		<link>http://www.bazerbashi.com/technology/upgrading-an-old-pc</link>
					<comments>http://www.bazerbashi.com/technology/upgrading-an-old-pc#comments</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Wed, 22 Sep 2010 13:29:48 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tips]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=107</guid>

					<description><![CDATA[<p>I remember the day I received my AMD Athlon 64 PC, I was ecstatic! Taking photos of it from the inside and outside. Man I was so proud of it. It had an MSI K8T Neo-FIS2R motherboard, 512MB DDR RAM, GeForce Fx 5200 128MB and an AMD Athlon 64 3200+ processor. I got it in [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/technology/upgrading-an-old-pc">Upgrading an old PC</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>I remember the day I received my AMD Athlon 64 PC, I was ecstatic! Taking photos of it from the inside and outside. Man I was so proud of it.</p>
<p>It had an <a href="http://www.msi.com/index.php?func=proddesc&amp;maincat_no=1&amp;cat2_no=&amp;cat3_no=&amp;prod_no=565" target="_blank">MSI K8T Neo-FIS2R</a> motherboard, 512MB DDR RAM, GeForce Fx 5200 128MB and an AMD Athlon 64 3200+ processor.</p>
<p>I got it in the 2004 and it was top of the line. Now we are in the 2010 and it&#8217;s been almost 7 years.</p>
<p>My hope was to make it able to run Windows 7 and let me do my Development job smoothly and let my dear wife enjoy some games on it (The Sims 3 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ).</p>
<p>Windows 7 min RAM requirements is around 1 GB. RAM Upgrade is a must. I wasn&#8217;t sure what type of RAM I should get, so I was glad to get help from <a href="http://www.crucial.com/uk/systemscanner/index.aspx" target="_blank">Crucial System Scanner Tool</a> to detect my motherboard model and suggest the correct memory upgrade. So I went ahead and got extra 2 GB RAM to have a total of 2.5 GB of RAM (Yummy!). Costed around $75.</p>
<p>I know my graphics card is probably old for Windows 7, but I wanted to try and see if it could work.</p>
<p>I inserted Windows 7 installation DVD and restarted the computer to boot from the DVD and do the installation. It gave me an error message saying &#8220;<em>CDBOOT: Cannot boot from CD &#8211; Code: 5</em>&#8220;. WHAT! WHY? I&#8217;ve just installed a fresh 2GB RAM for you man, don&#8217;t fail me! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f641.png" alt="🙁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> After researching online about this issue it was clear that Windows 7 installation DVD had an issue to boot with my old MSI motherboard. Lucky me I found a workaround this issue by patching the installation DVD using the instructions found <a href="http://www.unawave.de/windows-7-tipps/code5-error.html?lang=EN" target="_blank">here</a> which worked like a charm <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>The installation was a breeze. The system rebooted and everything was working. Sound, Graphics..etc. Yuppie! Wait a minute, the graphics doesn&#8217;t look clear and my external Wifi USB is not working too. Ugh. Windows 7 Aero effect isn&#8217;t working. Went to <a href="http://www.nvidia.com" target="_blank">nVidia</a> web site and downloaded the driver, also visited Linksys site to download the driver for the external WiFi USB WUSBF54g. I found a good advice on the net that I could just use WiFi driver files instead of installing Linksys application which wasn&#8217;t compatible with Windows 7.</p>
<p>After installing the drivers my WLAN was working and also Windows 7 Aero effect worked! Everything is working.</p>
<p>I installed the new Visual Studio 2010 and then the Windows Phone 7 development tools to see how things are working. The application was launched quickly, actually any application launches quickly, but moving the windows around is so annoying, slow and jumpy. So my RAM wasn&#8217;t enough? I checked the RAM and %20 only was used. It is now obvious that this is because of my graphic card.</p>
<p>My graphic card should be put to rest. Its fan was noisy anyway.</p>
<p>The hunt for a new graphic card started, and with it I remembered the exciting feeling I used to have looking for a good kind of RAM, graphic cards and other computer components.</p>
<p>The max my motherboard can handle is AGP 8x, so after researching I chose my new graphic card <a href="http://www.msi.com/index.php?func=proddesc&amp;maincat_no=130&amp;prod_no=1381" target="_blank">MSI NX6200AX 256MB DDR2</a> which can also run The Sims 3 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /> . Costed me around $37.</p>
<p>So now for around $100 I have revived my old machine and made it work pretty well <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Ftechnology%2Fupgrading-an-old-pc&#038;title=Upgrading%20an%20old%20PC" data-a2a-url="http://www.bazerbashi.com/technology/upgrading-an-old-pc" data-a2a-title="Upgrading an old PC"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/technology/upgrading-an-old-pc">Upgrading an old PC</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/technology/upgrading-an-old-pc/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Cleaner streets campaign</title>
		<link>http://www.bazerbashi.com/syria/cleaner-streets-campaign</link>
					<comments>http://www.bazerbashi.com/syria/cleaner-streets-campaign#comments</comments>
		
		<dc:creator><![CDATA[Hasan Bazerbashi]]></dc:creator>
		<pubDate>Tue, 03 Nov 2009 10:39:43 +0000</pubDate>
				<category><![CDATA[Syria]]></category>
		<category><![CDATA[Events]]></category>
		<guid isPermaLink="false">http://www.bazerbashi.com/?p=104</guid>

					<description><![CDATA[<p>While visiting a computer store, I noticed a pile of paper bags with some brochures at the desk, on a closer look I found a pleasant surprise! It was a campaign for having a cleaner street focusing on the habit of throwing trash out of the car&#8217;s window! Which is something I totally despise! The [&#8230;]</p>
<p>The post <a href="http://www.bazerbashi.com/syria/cleaner-streets-campaign">Cleaner streets campaign</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>While visiting a <a href="http://digitalnet.biz/" target="_blank">computer store</a>, I noticed a pile of paper bags with some brochures at the desk, on a closer look I found a pleasant surprise!<a href="http://www.bazerbashi.com/wp-content/uploads/2009/11/02112009014.jpg"><img loading="lazy" decoding="async" class="alignright size-thumbnail wp-image-105" title="For cleaner streets campaign" src="http://www.bazerbashi.com/wp-content/uploads/2009/11/02112009014-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>It was a campaign for having a cleaner street focusing on the habit of throwing trash out of the car&#8217;s window! Which is something I totally despise!</p>
<p>The campaign package consists of two things, the brochure which talks about how it is very hard to collect all the trash thrown out of the car&#8217;s window and how it needs an army of cleaners to collect that trash, because of course there are a lot of cars and a lot of people who are not aware of this issue. The second thing is a paper bag which you can stick on the car&#8217;s interior and put your trash in. Nice idea!</p>
<p>It is really nice to see people getting more aware and more civilized about this issue!</p>
<p>Thanks for the organizers and sponsors of this campaign:</p>
<p>Execution and planning:</p>
<p>&#8211; Scouts Syria<br />
&#8211; UNHCR Damascus<br />
&#8211; Twenty-fourth Division</p>
<p>Sponsors:</p>
<p>&#8211; <a href="http://digitalnet.biz/" target="_blank">DigitalNet</a><br />
&#8211; <a href="http://zad.sy/" target="_blank">Zad ISP</a><br />
&#8211; <a href="http://www.alwaten-syria.com" target="_blank">Al Waten</a></p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.bazerbashi.com%2Fsyria%2Fcleaner-streets-campaign&#038;title=Cleaner%20streets%20campaign" data-a2a-url="http://www.bazerbashi.com/syria/cleaner-streets-campaign" data-a2a-title="Cleaner streets campaign"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="http://www.bazerbashi.com/syria/cleaner-streets-campaign">Cleaner streets campaign</a> first appeared on <a href="http://www.bazerbashi.com">Hasan Bazerbashi's Web Site</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>http://www.bazerbashi.com/syria/cleaner-streets-campaign/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
	</channel>
</rss>
