I try to live by this quote but unfortunately the time one is that tends to get the better out of me on majority of the occasions.

I run Imbibe Technologies, an Independent Software Solutions Vendor and an IT Consulting company. I used to teach kids programming and still love taking up the marker on a whiteboard whenever I get a chance.

In college days, I was a university topper, stage performer (dance, debates etc), top-rated NCC cadet, state level shooter, national level flyer and the like 🙂

Life’s been mostly nerdy since. And I do enjoy tinkering away at…


So we have this Template Engine in ItNet which can generate beautifully formatted Reports for our customers by processing template Office documents, including Word, Excel and Powerpoint files stuffing data into them to produce the final report. We use combination of Open Xml SDK and Open Xml Power Tools to process Office documents and transform and slice and merge them.

One of our clients needed us to process multiple templates in a reporting workflow and combine all the resulting Word documents into a single output Word document. …


So, this is the part of my job/work which I love, but sometimes not so dearly: unsuspecting items cropping up from no-where when you are working on something really important or having an off-time :’(

Yesterday, post lunch, I was excited-ingly working on the architecture of a new platform plus apps which we need to deliver on a really short notice. And my Manager pinged me to let me know emails are not being dispatched from Imbibe’s Careers site.

Shouldn’t be too difficult I said to myself? After all, maybe some SMTP setting has gone awry or misplaced and I…


Hello everyone, I am back 🙂 .
In my last blog post, I promised I would be sharing my thoughts here more often, but it still took me almost an entire year to come back and write again on my blog.

Anyways, I did something recently which was intriguing and exciting enough for me to leave other things aside and write about the same first. One of our Payment Gateway Providers for Mart raised some regulatory concerns for the way payments are handled in Mart requiring us to use a proxy domain for web-based Payment redirections to complete the payments…


Feels so good to be back here. Last time I blogged on my site, it was what, like 2015 😮
Have written intermittently on Imbibe’s blog since but really looking forward to writing and sharing more here again.

Meanwhile if you noticed, this site got a face-lift. A big shout-out and thanks to Gopesh for his help in making this happen.

Coming back to the topic of this blog post, we switched all our ExtJs based development from the classic to modern toolkit last year. The modern toolkit in ExtJs 6 has grown powerful enough to provide feature parity with…


I am in the process of revamping server setups for my office as a part of which I am establishing different Windows servers for Sql Server Developer 2008, Sql Server Express and Svn Server. Considering that I often work late nights from my home as well as when I am travelling, I wanted to be able to connect securely to any of these servers as and when required, even when I am outside my office’s local network.

I received advice to use Tunnlr for the purpose (from someone whose advice I listen to very carefully). And so I decided to…


I think there’s hardly anything to explain here or give introduction about, the title says it all. I wrote a small function to zip directories recursively using the free and open-source ICSharpCode.SharpZipLib library.

So without saying many more things, here’s the function:

{syntaxhighlighter brush: csharp;fontsize: 100; first-line: 1; }public void addFolderToZip(ZipFile f, string root, string folder)
{

string relative = folder.Substring(root.Length);
if (relative.Length > 0)
{
f.AddDirectory(relative);
}

foreach (string file in Directory.GetFiles(folder))
{
relative = file.Substring(root.Length);
f.Add(file, relative);
}

foreach (string subFolder in Directory.GetDirectories(folder))
{
this.addFolderToZip(f, root, subFolder);
}
}{/syntaxhighlighter}

I will explain the parameters of the above method…


Sometime earlier, I wrote a blog post demonstrating a Ticker component for ExtJs to which items can be added dynamically ( here). The client for whom I originally wrote that Ticker component changed the specification recently, now requesting the ability for the ticker items to stay on screen for a configurable duration of time.

After having a look at the code for the original Ticker, I felt it cannot be customized directly to support the new specification. So I instead took the approach of creating a new component (which I call Slider).

I think a demonstration of the component would…


I am in the process of deploying an osCommerce site to a Windows 2008/IIS 7 machine as I write this (no point debating the merit of doing so, you really can’t fight the management if they have taken a decision and you are not even a part of that particular decision making).

So they want a default document of let’s say index.html for their website from where they want to take the user to osCommerce’s main index.php based page. And I need to make the appropriate settings in web.config to have this going.

This should have been easy, IIS 7…


In continuation to my pevious blog post on defining configuration path to connect to remote repos using SharpSvn, I present quick sample code for connecting to and fetching logs from a remote svn repo requiring authentication.

The topic as such should not need much introduction, so here’s the plain sample code:

{syntaxhighlighter brush: csharp;fontsize: 100; first-line: 1; }using (SvnClient client = new SvnClient())
{
//See the above referenced blog post to understand what the first line below does.
client.LoadConfiguration(Path.Combine(Path.GetTempPath(), “Svn”), true);

client.Authentication.SslServerTrustHandlers += delegate(object sender, SvnSslServerTrustEventArgs e)
{
//You might want to double-check that the server is trusted, instead of…

Imbibe Technologies

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store