Pi-Hole: The sentry at your doorstep

Sorry for writing after such a long time. My R&D pipeline almost dried at the right end while the left end is overflowing. The backlog is getting longer. I promise to start improving my presence over time. So, won’t you like to have sentry at your doorstep to shoo away the bad elements or the unwanted guests? Definitely yes. This is equally important for your digital doorway as well. This is even more relevant as you have started working from home. Everyone at home are now working online and a whole lot of browsing and a whole lot of extra

Continue reading

New Look, Responsive, Bootstrap et al

This has been in my mind for long time – why can’t I find a theme for my blog platform DotNetBlogEngine that is based on a responsive web design framework? After some serious search, I still failed to get one. So, I finally planned to take it up for myself. But was not getting enough time. Last week, I pulled up my sleeves and spent a night to work on the basic frame. And then some more time to give it a better shape. My earlier theme was based on Arthemia theme. I picked some of its design elements and

Continue reading

Pi of Life: setting up a DLNA Server

Sorry for the late reporting! After setting up the Pi and setting up the NAS on it, the next step was to look for additional usage. One on high rank of need was to move the media in such a way that I can stream it to anywhere. I was actually already using a shared iTunes Library when I was using the HDD on the USB port of the router. But the performance was not that good. Plus I was stuck to iTunes on my laptops. Plus, it did not support any TV or other devices without iTunes. At times,

Continue reading

Pi of Life: Setting up the NAS

So my first goal as in my Raspberry Pi plan (http://www.geekays.net/post/Pi-of-Life-Setting-it-up.aspx) was to check if a NAS on the Raspberry Pi is effective or not. I am sure it cannot be as sturdy and performing as that of a standard NAS box – as they pack a board specifically for that purpose with RAID capabilities. The Pi does not have a built in SATA interface and the option is to connect a USB HDD. I was using my 1TB USB-3 HDD as a shared drive for my home. I connected it to the USB-3 port of my Dlink 2750U router

Continue reading

SharePoint App on SP2010

Almost everyone is waiting for SharePoint Apps that will be a reality with SP2013. However we started on SharePoint app on SP2010 itself. Hold on! Its not exactly what App will be on SP2013 but presents the same concept and that can be implemented on SP2010. The core pieces- HTML (prefer some SPA framework or CSS3 framework like Foundation or Bootstrap), jQuery, jQuery UI, Knockout and of course the SharePoint server(s). How we did it? There are two ways to use HTM within sharepoint: Using content editor webpart – you can keep the content of the html in a text

Continue reading

XML Data Storage and XmlSerializer : The easy data store

Earlier I worked in an application where the data storage was XML and we spent quite some time designing the XSD and finalising what tags will be there for storing the different data. This is quite trivial when we need to use it as a datastore and the application need to be able to get some specific data out of it or we need some query implementations on top of this data storage. Sometime back, in a team that I was associated with, needed a small datastore for some hierarchical data. The requirement was to get the data loaded into

Continue reading

Using TreeView inside AJAX UpdatePanel

Microsoft does not support TreeView Control inside AJAX:UpdatePanel. So there are lots of issues if one need to do the same. One of my teams needed to use the TreeView inside the UpdatePanel. The core of the application is around some hierarchical documentation. As the user interaction with the system mostly through this hierarchical data, TreeView with check boxes is the most obvious selection. However, the pain began as the development progressed and changes in requirements started pouring in. One option was for clientside population of treeview. But some dynamic changes happening to the underlying hierarchical data (by concurrent users),

Continue reading

schema.ini file to interpret column attributres while reading a CSV using MS Text Driver

Problem – While reading a CSV file using Microsoft Text Driver, It interprets CSV file columns in it’s own way like if one the column contains data specific to a date, then it only keep data which is in proper format otherwise it put null against that. Solution – Create a schema.ini file which defines the structure of a CSV file in turn gets interpreted automatically by driver itself in a desired format. Details – Schema.ini files provide schema information about the records in a text file. If you create a DSN, the schema.ini file gets created automatically in the

Continue reading

ASP.NET webdomain recycle on subfolder changes

While working on a web application, one of my team presented some weird behaviour on ASP.NET FIrst observation: Session times out randomly while working on the application. So we started observing the application closely to see what might be causing this. We came out with some more observations: Detailed observation: Session times out when any of the user participates in certain scenario. Also, not only the specific session expires, but all the use sessions are expired. Further study shown that actually the app domain itself recycles. We studied the activities in these specific scenario. We found that a certain implementation

Continue reading

Handling onPropertyChange in Firefox

IE non-standard onPropertyChange is a huge problem in most of the places. I was working on a work of moving an application designed to work on IE to a cross-browser standard. For some of the forms, there is a pop up and on the close button of the pop up, it used to update some of the fields in the opener page as:     function fnClose(rowid){         var taxHTML = document.getElementById("taxvalues").innerHTML;         window.opener.document.getElementById("taxvalues").innerHTML=taxHTML;         window.opener.document.getElementById("hdnTax").value=rowid;         //There is a event handler on this element in the opener using "onPropertyChange=fnPopClosed(this.value);"         window.close();     } There is

Continue reading