

<!DOCTYPE html>
<html class="scroll-smooth bg-slate-900 text-slate-400 antialiased [font-feature-settings:&#x27;ss01&#x27;]" lang="en">
	<head>
		<title>Max Al Farakh&#x27;s blog</title>
			<meta name="description" content="Blog - Jitbit Software" />
		
		<link rel="alternate" id="rssLink" type="application/rss+xml" title="Founder's blog'" href="https://www.jitbit.com/maxblog/rss/" />

		<link rel="icon" type="image/png" href="/favicon.png" />
		<meta name="viewport" content="width=device-width" />
		<link rel="stylesheet" href="/fonts.css" />

		<link rel="stylesheet" href="/output.css?v=9649-20460" />
		
		<style>.prose-invert a { --tw-prose-links: #4493f8; }</style>
	</head>

	<body style="">

		<header class="backdrop-blur-md py-10 sticky top-0 bg-slate-900/30">
			<div class="mx-auto max-w-7xl px-6 flex justify-between">
				<a href="/" class="text-slate-500">
					<svg fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6 inline">
						<path stroke-linecap="round" stroke-linejoin="round" d="M19.5 12h-15m0 0l6.75 6.75M4.5 12l6.75-6.75" />
					</svg>
					back to Jitbit
				</a>
				<a href="/maxblog/">Blog home</a>
				<a class="justify-end text-slate-500" href="/maxblog/about/">About this blog</a>
			</div>
		</header>

		


	<div class="mx-auto py-12 grid max-w-3xl gap-12">
			<div class="flex flex-col overflow-hidden rounded-lg border border-white/10">
				<div class="flex-shrink-0">
					<a href="/maxblog/24-how-to-generate-a-full-text-query-for-sql-server/">
						<img class="h-60 w-full object-cover" src="https://www.jitbit.com/images/i/U2UTVEw.jpg" alt="How to generate a full-text query for SQL Server" loading="lazy">
					</a>
				</div>
				<div class="flex flex-1 flex-col justify-between bg-slate-900\/30 p-6">
					<div class="flex-1">
						<a href="/maxblog/24-how-to-generate-a-full-text-query-for-sql-server/" class="mt-2 block">
							<p class="text-xl font-semibold">How to generate a full-text query for SQL Server</p>

							<p class="mt-3 text-base text-gray-500"><p>Information on the full-text search on the Internet is pretty scarce. Unless you want to read 600 pages long book you are going to have a hard time. We&#39;ve been toying around with FTS in Jitbit Helpdesk for almost five years now. I wanted to share the code we use. </p>
<p>This is a result of many iterations over the years. The code we&#39;ve settled with is pretty basic and only covers two use cases, but I believe it&#39;s going to be enough for 95% of products out there.</p>
</p>
						</a>
					</div>
				</div>
			</div>
			<div class="flex flex-col overflow-hidden rounded-lg border border-white/10">
				<div class="flex-shrink-0">
					<a href="/maxblog/23-thinking-about-switching-from-mac-to-pc-here-is-my-story/">
						<img class="h-60 w-full object-cover" src="https://www.jitbit.com/images/i/U2UTVEw.jpg" alt="Thinking about switching from Mac to PC? Here is my story" loading="lazy">
					</a>
				</div>
				<div class="flex flex-1 flex-col justify-between bg-slate-900\/30 p-6">
					<div class="flex-1">
						<a href="/maxblog/23-thinking-about-switching-from-mac-to-pc-here-is-my-story/" class="mt-2 block">
							<p class="text-xl font-semibold">Thinking about switching from Mac to PC? Here is my story</p>

							<p class="mt-3 text-base text-gray-500"><p>Many Mac users are thinking about switching to PC after the yesterday’s keynote. I made the switch a couple of months ago, and I want to tell you my thoughts.</p>
</p>
						</a>
					</div>
				</div>
			</div>
			<div class="flex flex-col overflow-hidden rounded-lg border border-white/10">
				<div class="flex-shrink-0">
					<a href="/maxblog/21-errcertauthorityinvalid-on-android-and-iis/">
						<img class="h-60 w-full object-cover" src="https://www.jitbit.com/images/i/U2UTVEw.jpg" alt="ERR_CERT_AUTHORITY_INVALID on Android and IIS" loading="lazy">
					</a>
				</div>
				<div class="flex flex-1 flex-col justify-between bg-slate-900\/30 p-6">
					<div class="flex-1">
						<a href="/maxblog/21-errcertauthorityinvalid-on-android-and-iis/" class="mt-2 block">
							<p class="text-xl font-semibold">ERR_CERT_AUTHORITY_INVALID on Android and IIS</p>

							<p class="mt-3 text-base text-gray-500"><p>Recently one of our users complained that he couldn't access our site on his Android phone. </p>
</p>
						</a>
					</div>
				</div>
			</div>
			<div class="flex flex-col overflow-hidden rounded-lg border border-white/10">
				<div class="flex-shrink-0">
					<a href="/maxblog/20-7-great-newsletters-for-startup-founders/">
						<img class="h-60 w-full object-cover" src="https://www.jitbit.com/images/i/U2UTVEw.jpg" alt="7 Great Newsletters for Startup Founders" loading="lazy">
					</a>
				</div>
				<div class="flex flex-1 flex-col justify-between bg-slate-900\/30 p-6">
					<div class="flex-1">
						<a href="/maxblog/20-7-great-newsletters-for-startup-founders/" class="mt-2 block">
							<p class="text-xl font-semibold">7 Great Newsletters for Startup Founders</p>

							<p class="mt-3 text-base text-gray-500"><p>It takes a lot of time and effort to stay on top of the industry news. Tons of new articles are being published every day, but not all of them worth your attention. Let other people do the dirty work and find the most interesting and useful stuff for you – subscribe to a newsletter. Here are 7 curated weekly email newsletters that I love.</p>
</p>
						</a>
					</div>
				</div>
			</div>
			<div class="flex flex-col overflow-hidden rounded-lg border border-white/10">
				<div class="flex-shrink-0">
					<a href="/maxblog/19-lessons-learned-after-running-an-nps-campaign/">
						<img class="h-60 w-full object-cover" src="https://www.jitbit.com/images/i/U2UTVEw.jpg" alt="Lessons Learned After running an NPS Campaign" loading="lazy">
					</a>
				</div>
				<div class="flex flex-1 flex-col justify-between bg-slate-900\/30 p-6">
					<div class="flex-1">
						<a href="/maxblog/19-lessons-learned-after-running-an-nps-campaign/" class="mt-2 block">
							<p class="text-xl font-semibold">Lessons Learned After running an NPS Campaign</p>

							<p class="mt-3 text-base text-gray-500"><p>So, we've just finished running a <a rel="nofollow" href="http://en.wikipedia.org/wiki/Net_Promoter">Net Promoter Score (NPS)</a> survey for <a href="https://www.jitbit.com/helpdesk/">Jitbit Helpdesk</a>. NPS is a hot new thing in the startup world. Well, it's not entirely new – traditional marketers have been using it for 20 years, but, since startupers tend to despise traditional marketers and ignore everything they did for the last 50 years, we've learned about NPS just recently.</p>
</p>
						</a>
					</div>
				</div>
			</div>
			<div class="flex flex-col overflow-hidden rounded-lg border border-white/10">
				<div class="flex-shrink-0">
					<a href="/maxblog/18-detecting-outlook-autoreplyout-of-office-emails-and-x-auto-response-suppress-header/">
						<img class="h-60 w-full object-cover" src="https://www.jitbit.com/images/i/U2UTVEw.jpg" alt="Detecting Outlook autoreply/out-of-office emails and X-Auto-Response-Suppress header" loading="lazy">
					</a>
				</div>
				<div class="flex flex-1 flex-col justify-between bg-slate-900\/30 p-6">
					<div class="flex-1">
						<a href="/maxblog/18-detecting-outlook-autoreplyout-of-office-emails-and-x-auto-response-suppress-header/" class="mt-2 block">
							<p class="text-xl font-semibold">Detecting Outlook autoreply/out-of-office emails and X-Auto-Response-Suppress header</p>

							<p class="mt-3 text-base text-gray-500"><p>In our <a href="https://www.jitbit.com/saas-helpdesk/">helpdesk app</a> we have a method called IsUselessEmail(). Its purpose is to filter through all incoming email and drop all bounces, autoreplies etc. This is a tough problem since we need to drop as much garbage as possible, but pass through any useful emails.</p>
</p>
						</a>
					</div>
				</div>
			</div>
			<div class="flex flex-col overflow-hidden rounded-lg border border-white/10">
				<div class="flex-shrink-0">
					<a href="/maxblog/17-sql-server-how-to-convert-datetime-to-utc/">
						<img class="h-60 w-full object-cover" src="https://www.jitbit.com/images/i/U2UTVEw.jpg" alt="SQL Server: how to convert datetime to UTC" loading="lazy">
					</a>
				</div>
				<div class="flex flex-1 flex-col justify-between bg-slate-900\/30 p-6">
					<div class="flex-1">
						<a href="/maxblog/17-sql-server-how-to-convert-datetime-to-utc/" class="mt-2 block">
							<p class="text-xl font-semibold">SQL Server: how to convert datetime to UTC</p>

							<p class="mt-3 text-base text-gray-500"><p>Recently we needed to convert all dates in our database to UTC format. We've made a mistake not storing them in UTC from the beginning and it led to complicated issues. When you have to support various time zones, there is no other way but to store you dates in UTC.</p>
</p>
						</a>
					</div>
				</div>
			</div>
			<div class="flex flex-col overflow-hidden rounded-lg border border-white/10">
				<div class="flex-shrink-0">
					<a href="/maxblog/8-feature-requests-are-not-necessarily-evil/">
						<img class="h-60 w-full object-cover" src="https://www.jitbit.com/images/i/U2UTVEw.jpg" alt="Feature requests are not (necessarily) evil" loading="lazy">
					</a>
				</div>
				<div class="flex flex-1 flex-col justify-between bg-slate-900\/30 p-6">
					<div class="flex-1">
						<a href="/maxblog/8-feature-requests-are-not-necessarily-evil/" class="mt-2 block">
							<p class="text-xl font-semibold">Feature requests are not (necessarily) evil</p>

							<p class="mt-3 text-base text-gray-500"><p>We are not a big fans of 37Signals' approach of turning down every feature request by default at Jitbit. We actually love and appreciate our users feedback. Not a day goes by without a couple of feature requests for one of our apps and in many cases we're making a decision to implement them. </p>
</p>
						</a>
					</div>
				</div>
			</div>
			<div class="flex flex-col overflow-hidden rounded-lg border border-white/10">
				<div class="flex-shrink-0">
					<a href="/maxblog/6-reading-ipad-vs-kindle/">
						<img class="h-60 w-full object-cover" src="https://www.jitbit.com/images/i/U2UTVEw.jpg" alt="Reading: iPad vs. Kindle" loading="lazy">
					</a>
				</div>
				<div class="flex flex-1 flex-col justify-between bg-slate-900\/30 p-6">
					<div class="flex-1">
						<a href="/maxblog/6-reading-ipad-vs-kindle/" class="mt-2 block">
							<p class="text-xl font-semibold">Reading: iPad vs. Kindle</p>

							<p class="mt-3 text-base text-gray-500"><p>I&#8217;ve always wanted to buy a Kindle, mostly because, you know, all other geeks have it and really like it. At the same time, purchasing a Kindle while already having an iPad seemed like an overkill to me. Well, at least I thought so before reading <a href="http://37signals.com/svn/posts/3079-rekindle-my-love-of-reading" rel="nofollow">the latest DHH&#8217;s post on 37signals blog</a>:</p></p>
						</a>
					</div>
				</div>
			</div>

		<div class="flex justify-between">

		</div>

	</div>


		<footer class="bg-slate-800 text-gray-400">
			<div class="mx-auto max-w-3xl py-12">
				<div class="xl:grid xl:grid-cols-2 xl:gap-8">
					<div>
						<ul role="list" class="space-y-4">
							<li><a href="/maxblog/" class="hover:text-white">Home</a></li>
							<li><a href="/maxblog/about/" class="hover:text-white">About</a></li>
							<li><a href="/company/" class="hover:text-white">About Jitbit Software</a></li>
							<li><a href="/helpdesk/" class="hover:text-white">Jitbit's Helpdesk Ticketing System</a></li>
						</ul>
					</div>
					<div class="mt-8 xl:mt-0">
					</div>
				</div>
			</div>
		</footer>

		<div class="fixed inset-x-0 bottom-0 pb-2 sm:pb-5" id="gdpr_banner" style="display:none;">
			<div class="mx-auto max-w-7xl px-3 xl:px-0">
				<div class="rounded-lg bg-gray-700/50 backdrop-blur-md p-2 shadow-lg sm:p-3">
					<div class="flex flex-wrap items-center justify-between">
						<div class="flex w-0 flex-1 items-center">
							<span class="flex rounded-lg bg-blue-800 p-2">
								<svg class="h-6 w-6 text-white" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true">
									<path stroke-linecap="round" stroke-linejoin="round" d="M10.34 15.84c-.688-.06-1.386-.09-2.09-.09H7.5a4.5 4.5 0 110-9h.75c.704 0 1.402-.03 2.09-.09m0 9.18c.253.962.584 1.892.985 2.783.247.55.06 1.21-.463 1.511l-.657.38c-.551.318-1.26.117-1.527-.461a20.845 20.845 0 01-1.44-4.282m3.102.069a18.03 18.03 0 01-.59-4.59c0-1.586.205-3.124.59-4.59m0 9.18a23.848 23.848 0 018.835 2.535M10.34 6.66a23.847 23.847 0 008.835-2.535m0 0A23.74 23.74 0 0018.795 3m.38 1.125a23.91 23.91 0 011.014 5.395m-1.014 8.855c-.118.38-.245.754-.38 1.125m.38-1.125a23.91 23.91 0 001.014-5.395m0-3.46c.495.413.811 1.035.811 1.73 0 .695-.316 1.317-.811 1.73m0-3.46a24.347 24.347 0 010 3.46" />
								</svg>
							</span>
							<p class="ml-3 font-medium text-white">
								We use cookies to improve your experience
							</p>
						</div>
						<div class="order-3 mt-2 w-full flex-shrink-0 sm:order-2 sm:mt-0 sm:w-auto">
							<a href="#" data-consent="accept" class="flex items-center justify-center rounded-md border border-transparent bg-white px-4 py-2 text-sm font-medium text-blue-600 shadow-sm hover:bg-blue-50">Accept</a>
						</div>
						<div class="order-2 flex-shrink-0 sm:order-3 sm:ml-2">
							<button type="button" data-consent="reject" class="-mr-1 text-white flex rounded-md p-2 hover:bg-blue-500">
								Reject
							</button>
						</div>
					</div>
				</div>
			</div>
		</div>


<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-TMN3CBH');</script>

		<script src="/js/gdpr.js"></script>

	</body>
</html>