Security Bug with ZTE ZXDSL 531B Modem/Router

By Mayank Raichura at March 16, 2010 08:23
Filed Under: Tips & Tricks


Recently, I was working with my ZTE ZXDSL 531B ADSL Modem/Router and after finishing configuration, I rebooted the modem. Unfortunately, I forgot to close the page and soon enough I was presented with repeated reboots. I started wondering as to why such thing would happen. So, I went to the source code saw that the script of was reloading the page every 2 minutes (it was clearly stated on the page but somehow I missed it :D).

ZXDSL-531B

 

So, I extracted the link and opened it in another browser.

 

this is what the link was: http://192.168.1.1/rebootinfo.cgi

 

Honestly speaking, I was expecting a Basic Authentication box asking me for my ID & Password. But, to my utter shock, the page got displayed. And within few seconds, my network was gone. My modem had rebooted without authenticating the user!!!

 

Think of this in a scenario of open network. Anyone connected to my network via LAN or WLAN can reboot my modem. I’ll be disconnected for almost 1 minute (That’s the time my modem takes to reboot) and repeated calls to the modem will just make hell of my life.

 

I also came across another bug on this modem. Here are the details.

 

So make sure that you have secured your WLAN properly to avoid being exploited.

Annular Solar Eclipse – January 15, 2010 from Rajkot, Gujarat (INDIA)

By Mayank Raichura at February 03, 2010 02:22
Filed Under: Astro

I know, it’s too late to talk about the longest eclipse of this millennium and some asking “Where was I when everyone was posting about it?”. Well, I was busy with a function at home and then in fulfilling the commitments that got delayed due to this function.

 

Anyways, with my younger sis’s engagement around the weekend, I had little time to spare for the preparation forget visiting Rameshwaram. So, on the morning of January 15, 2010 I went to RCSC as we had planned a public observation there. I wanted to capture live-video of the whole eclipse and so I had taken my Sony DCR-HC36 with me. The public observation was quite successful as there was continuous flow of people visiting to watch the eclipse.

 

Here is a slide-show of the public observation session.

 

 

And here are few still-shots I took from my camcorder.

 ASE-001 ASE-002 ASE-003 ASE-004 ASE-005 ASE-006

Half-Eclipse

 

I haven’t found time to extract the video which contains the initial part of the eclipse but lets hope that I would be able to do it ASAP.

Integrating IntenseDebate comment system

By Mayank Raichura at January 11, 2010 02:40
Filed Under: Tips & Tricks

Update - January 11, 2010
The uploading of the modified files has been completed and the InteseDebate comment system is now active. Please help by leaving your comments and if you encounter any problems, please inform me by filling up the Contactform with subject IntenseDebate. Thanks in advance!

 

Recently I was visiting this of which I don’t remember the name but had this really nice comment system. First of all, I assumed that it might be a native implementation but then I received an email from IntenseDebate verifying my subscription to comment thread and it was then I realized the existence of this amazing site that looked promising.Intense-Debate-Logo

 

So, after going through the site, I decided to integrate the comment system into my blog. But the question was? Has ever IntenseDebate been integrated into BlogEngine.Net? I googled over it and ofcourse, I couldn’t find anything. Hence, I had to start from the scratch. Based on my past experience on creating few Widgets & Extensions for BlogEngine.Net, I thought I could do it. After modifying couple of files, I found a little bit of success. I wanted to restrict all my code modification to Theme folder but with current structure of BlogEngine.Net, the possibility was far stretched. I had to modify a few files outside theme for this comment system to work. I’m uploading the modified files to live blog to test and it all goes OK, I’ll post the steps on How to implement IntenseDebate into BlogEngine.Net.

 

Wish me luck!

File Downloads Not Available - Resolved

By Mayank Raichura at November 09, 2009 02:18
Filed Under: News

Update

Seems like the issue was caused due to lack of permissions on my App_Data folder(I wonder how this happened!!!). I’ve tested downloading each and every of the files and it seems to be working okay. Please comment here if you have problem downloading or reaching any part of site.

Download

 

 

 

I’ve recently detected that there is a problem while downloading files and I’m already working to find a resolution for it. Sorry for inconvenience. I’ll post an update as soon as I’m able to resolve this issue.

Automate BSNL Broadband using Broadband Scheduler

By Mayank Raichura at November 05, 2009 18:56
Filed Under: Download

Warning: It has come to my notice that the current version has a bug when used on Laptops. The application will create tasks with condition "Start the task only if the computer is on AC power" checked by default. So, if you are running your downloads while on batteries, the tasks won't run.

Workaround: I've already resolved the bug but I need to test it before uploading. Please modify this condition manually. Click here for a step-by-step guide on how to do that.

2009/12/27 - Resolved
The updated version has been uploaded and is now available for download. Also, I've added reconnection feature that will let you reconnect if an existing connection is going on. Also, it will perform up to 5 connection attempts if an error occurs during these tries. So, now party all night without the worry of your download ;). Wish you a very very Happy New Year.

You might have already visited my older blog posts BSNL Broadband Automation and BSNL Broadband Automation for Vista that dealt with using Task Scheduler (1.0 for XP and 2.0 for Vista) to schedule your tasks. While I tried to keep the process as easy as I can, working with Task Scheduler is sometimes hard. So, for long time I had been thinking to create a program that would ease the process of scheduling tasks on behalf of you and give you peace of mind. And at last I found time (and necessary resources) to work on this idea. And here it is, Broadband Scheduler client that eases your work by creating scheduled tasks on behalf of you. It uses an open-source Task Scheduler Managed Wrapper that should allow you to use client on both the operating systems (not confirmed for XP).

 

Details

The program is capable of scheduling 4 kind of tasks which, I guess, should be sufficient. The tasks are named as follows

  • Connect
  • Applications
  • Disconnect
  • Shutdown

Connect, Disconnect & Shutdown – Used for Connecting, Disconnecting and Shutting down the system respectively.

Applications – To launch multiple applications at a given time.

 

Screen Shots

 Broadbadn-Automation-Scheduler-001-General-Interface
Broadbadn-Automation-Scheduler-002-Connection-List
Broadbadn-Automation-Scheduler-003-Application-Selection
Broadbadn-Automation-Scheduler-004-Settings-Saved

Requirement

.Net Framework 2.0


Download

The application is in BETA mode. So please use it at your own risk and provide feedback in comments, should you encounter any problem while using it. I’ll be glad to resolve your issues.

 

Download BBScheduler

BlogEngine.Net Widget – Article Info

By Mayank Raichura at September 08, 2009 02:51
Filed Under: Download, Download

aricle info I recently visited Karl Francisco Fernandes’s blog mesonprojekt with awesome design. There, while reading one of his blog entries, I saw this small widget on the right called “ABOUT THIS ARTICLE” and my heart just said – I want one.

Well that’s it. I tried(I swear I did) to search for it on internet for a while but soon ended up deciding to write my own. 

So since, I was going to write one for my own, I decided to write down my requirements (greyed out features are yet to be implemented.)

  1. To display well formatted information of currently viewed post.  
  2. To add support for date, author, categories and tags.
  3. To display well formatted information regarding comments.
  4. Link to Comments
  5. To add support for editable title.
  6. To add support for editable information format.
  7. To make the Widget visible on when a blog post is being displayed.
  8. To display the widget irrespective of the page/post the user is visiting, if the user is an Administrator.

Now that the requirements have been decided, I created blank templates for the widget and boom…..the first problem came in it’s way. How to access the current blog entry (Post in BlogEngine.Net) information from a widget? It’s pretty easy to do this from an extension, but Widgets that inherit from WidgetBase don’t have any methods to access the current Post. So, I went to the BlogEngine.Net codeplex site and searched for it on the forum. But there was no information there and so I ended up creating the thread of my own.

Soon Ben answered to the query and after couple of posts, I had all the information I needed to build my own post.

So based on Ben’s suggestions, I modified the WidgetBase.cs to include properties that allowed direct access to current Post/Page being served.

Here is what I added to WidgetBase.cs

#region Custom Properties
    /// <summary>
    /// Gets the current Page being served.
    /// </summary>
    /// <value>Current <c>Page</c> object if a Page is being served; otherwise <c>null</c>.</value>
    public BlogEngine.Core.Page CurrentPage
    {
        get { return GetCurrentPage(); }
    }

    /// <summary>
    /// Gets the current <c>Post</c> being served.
    /// </summary>
    /// <value>Current <c>Post</c> object if a Post is being served; otherwise <c>null</c>.</value>
    public BlogEngine.Core.Post CurrentPost
    {
        get { return GetCurrentPost(); }
    }

    private bool _DisplayWidget = true;

    /// <summary>
    /// Gets or Sets the visibility of Widget
    /// </summary>
    public bool DisplayWidget
    {
        get { return _DisplayWidget; }
        set { _DisplayWidget = value; }
    }
    #endregion

along with this functions (thanks to Ben)

#region additional Methods

    /// <summary>
    /// Function retreive the Current Post. Credit for this function 
    /// goes to Ben Amada (http://allben.net/)
    /// </summary>
    /// <returns></returns>
    private Post GetCurrentPost()
    {
        string currentPage = System.IO.Path.GetFileName(HttpContext.Current.Request.PhysicalPath);
        string id = Request.QueryString["id"];
        if (!string.IsNullOrEmpty(id) && id.Length == 36)
        {
            Guid itemId = new Guid(id);
            if (currentPage.Equals("post.aspx", StringComparison.OrdinalIgnoreCase))
            {
                return BlogEngine.Core.Post.GetPost(itemId);
            }
            else return null;
        }
        else return null;
    }
    
    /// <summary>
    /// Function retreive the Current Page. Credit for this function 
    /// goes to Ben Amada (http://allben.net/)
    /// </summary>
    /// <returns></returns>
    private BlogEngine.Core.Page GetCurrentPage()
    {
        string currentPage = System.IO.Path.GetFileName(HttpContext.Current.Request.PhysicalPath);
        string id = Request.QueryString["id"];
        if (!string.IsNullOrEmpty(id) && id.Length == 36)
        {
            Guid itemId = new Guid(id);
            if (currentPage.Equals("page.aspx", StringComparison.OrdinalIgnoreCase))
            {
                return BlogEngine.Core.Page.GetPage(itemId);
            }
            else return null;
        }
        else return null;
    }

    #endregion

So, as you can see, apart from CurrentPost & CurrentPage, there is an extra property called DisplayWidget. Well, this part certainly wasn’t my idea but the happened to ask about this feature in my thread and it was exactly what I needed ;). So, this property lets BlogEngine.Net decide which Widgets are to be diplayed. But how will BlogEngine.Net decide that. Well, tha’s where we need to modify WidgetZone.cs file. Here you need to replace

this.Controls.Add(control);

with

//Added: Implementing DisplayWidget property
 if (!control.DisplayWidget)
{
	if (Page.User.Identity.IsAuthenticated && Roles.IsUserInRole(BlogEngine.Core.BlogSettings.Instance.AdministratorRole))
	{
		this.Controls.Add(control);
	}
}
else this.Controls.Add(control);

That’s it. Now, we have three properties at our disposal when we inherit from WidgetBase.

  1. CurrentPost – Gets a Post object if a blog entry is being served; otherwise null;
  2. CurrentPage – Gets a Page object if a page is being served; otherwise null;
  3. DisplayWidget – Gets or Sets the visibility of the Widget. If set to false, the widget won’t be displayed. The property has not effect when the user has logged in as Administrator.

So, here is the code for widget.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="widget.ascx.cs" Inherits="widgets_articleinfo_widget" %>
<asp:Label ID="articleInfo" runat="server"></asp:Label>
<div id="commentLinks" runat="server">
<asp:HyperLink runat="server" ID="hlViewComment">View Comments</asp:HyperLink>
</div>

and widget.ascx.cs

#region Using

using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Web.Caching;
using System.Xml;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using BlogEngine.Core;
using System.Globalization;

#endregion

public partial class widgets_articleinfo_widget : WidgetBase
{
    /// <summary>
    /// (1) Title, (2) Author, (3) DateCreated, (4) Categories
    /// </summary>
    string POSTINFO = "You are reading <b>\"{0}\"</b>, an entry posted by {1} on {2} and categorized under {3}.";
    //string PAGEINFO = "You are currently on \"{0}\" page.";

    string TAGLIST = "The following tags are associated with this article: {0}";

    string NOCOMMENTS = "There are no comments for this article.";
    string SINGLECOMMENTS = "There is only 1 comment for this article.";
    string MULTIPLECOMMENTS = "There are {0} comments for this article.";
    
	public override string Name
	{
		get { return "Article Info"; }
	}

	public override bool IsEditable
	{
		get { return true; }
	}
    
	public override void LoadWidget()
	{
        if (this.CurrentPost == null)
        {
            this.DisplayWidget = false;
            return;
        }

        Post curPost = this.CurrentPost;
        StringBuilder sb = new StringBuilder();

        sb.AppendLine("<div>");
        sb.AppendFormat(this.POSTINFO, curPost.Title.ToString(), curPost.Author.ToString(), curPost.DateCreated.ToString("MMMM dd, yyyy"), this.CategoryLinks(curPost,", "));

        if (curPost.Tags.Count != 0)
        {
            sb.Append("<br /><br />");
            sb.AppendFormat(this.TAGLIST,this.TagLinks(curPost,", "));
        }

        sb.Append("<br /><br />");

        int CommentCount = curPost.ApprovedComments.Count;

        if(CommentCount  == 0)
        {
            sb.Append(this.NOCOMMENTS);
        }else if(CommentCount == 1){
            sb.Append(this.SINGLECOMMENTS);
        }else sb.AppendFormat(this.MULTIPLECOMMENTS,CommentCount);

        sb.AppendLine("</div>");

        this.articleInfo.Text = sb.ToString();

        this.hlViewComment.NavigateUrl = curPost.RelativeLink + "#comment";

    }

    #region Methods from PostViewBase
    protected virtual string CategoryLinks(Post curPost, string separator)
    {
        string[] keywords = new string[curPost.Categories.Count];
        string link = "<a href=\"{0}{1}.aspx\">{2}</a>";
        string path = VirtualPathUtility.ToAbsolute("~/category/");
        for (int i = 0; i < curPost.Categories.Count; i++)
        {
            if (Category.Categories.Contains((Category)curPost.Categories[i]))
            {
                string category = Category.GetCategory(curPost.Categories[i].Id).Title;
                keywords[i] = string.Format(CultureInfo.InvariantCulture, link, path, Utils.RemoveIllegalCharacters(category), category);
            }
        }


        return string.Join(separator, keywords);
    }

    /// <summary>
    /// Displays the Post's tags seperated by the specified string.
    /// </summary>
    protected virtual string TagLinks(Post post, string separator)
    {
        if (post.Tags.Count == 0)
            return null;

        string[] tags = new string[post.Tags.Count];
        string link = "<a href=\"{0}/{1}\" rel=\"tag\">{2}</a>";
        string path = Utils.RelativeWebRoot + "?tag=";
        for (int i = 0; i < post.Tags.Count; i++)
        {
            string tag = post.Tags[i];
            tags[i] = string.Format(CultureInfo.InvariantCulture, link, path, HttpUtility.UrlEncode(tag), HttpUtility.HtmlEncode(tag));
        }

        return string.Join(separator, tags);
    }
    #endregion
}

As you can see, I’ve left IsEditable to true and added an empty edit.ascx to use the inbuilt Widget Title Editing feature. You can watch the working demo on the side-bar. Do tell me if you like it.

Also, I would like to Ben for his codes and suggestions. They were the valuable piece of information for this Widget.

 

 

How to install the Widget?

  • Download the widget from the download link given below.
  • Extract the files to your local folder
  • As you can see, the files are already in structure they need to be copied.
  • Copy WidgetBase.cs and WidgetZone.cs from App_Code\Controls to yours servers ~/App_Code/Controls folder
  • Also copy the Article Info folder from widgets to your servers’ ~/widgets folder.
  • And you are done.
  • You can add your widget by selecting it from the drop-down list of your WidgetZone.

Note: This widget will work on themes that support Widgets.

 

 

So. Do you want one?

Download Article Info

USB Lock – A simple utility to block usage of USB Storage Drives on Windows System

By Mayank Raichura at September 03, 2009 08:51
Filed Under: Download

usb-lock-icon While scouring through my old archives, I came across a very simple utility, that I had created back in 2005 for my dad’s office to protect the data stored on it, called USB Lock.

This small utility blocks usage of USB drives on a computer so that data/files can neither be imported nor exported. It was written in VB6 and uses a simple registry tweak to enable & disable USB Storage Devices on that computer.

What is the benefit of blocking USB Storage Drives?

There might be many benefits of blocking USB Storage Drives but let me tell you two of them.

  • Data Security as data cannot be exported to external USB Drives.
  • System Security as USB Drives are one of the major hosts of viral transmission and blocking them reduces the rate of infection.

usb-lock How does USB Lock blocks USB Storage Drives?

Instead of writing a lengthy description, please read this thread(and there are many others but am too lazy to find one).

And if you are lazy like me and don’t want to visit any thread then here it is..

All it does is modify the following registry

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR

Yes. That’s it. Full Stop.

Under that modifying the value of DWORD Start will enable or disable USB Drives. Here are the possible values.

  • 3 to Enable
  • 4 to Disable

So what? Anyone can modify this registry values and re-enable the USB Storage drives.

True. But not everyone. You need to be smart enough to know the exact registry key to modify which wasn’t the case with my Dad’s office staff. But eventually, if the need arise, with good management of access permissions(like only allowing a specific user to modify registry key) over registry key should fulfil your need. Please note that if you restrict registry modification to a specific user, the application can work only for that user.

Okay, let me give it a try.

Warning: This application modifies registry. It would be best in your interest to create a restore point or at least make a backup of your registry before installing/using this application.

Download USBLock

If you like this application please support by clicking other the sponsored link on the right.

Report: Total Solar Eclipse – July 22, 2009

By Mayank Raichura at August 12, 2009 02:23
Filed Under: Astro

I know I’m quite late to write my report for the forgotten TSE of July, 22, 2009 and honestly I had no interest to write anything after it turned out to be a total failure (!!! not eclipse :( ). But as a duty of a true observer, I’m going to (reluctantly) write a report for it.

The Location

We chose Indore as observation location regarding which I’ve already posted in my previous post.

The Team

Our team mainly comprised of members of Big Bang Astronomy Club, RCSC, Rajkot while a team of about 12 members from Dholakia School accompanied us to Indore.

Neelesh Rana

The mastermind of the whole trip and a respected sir. He manages Big Bang Astronomy Club while he serves as a Centre Co-ordinater to RCSC, Rajkot.

Mahant

That’s what we used to call him. I don’t remember his real name. He works at RCSC and he joined us to aid Neelesh Sir in conducting the experiments.

Deep Rajpara

An old friend of mine and an a great enthusiast. He is always ready for any expedition related astronomy.

Bhawmik

A funny and joyous guy from Ahmadabad who joined BBAC while his stay at Rajkot during his graduation years.

Dipen

A great science and astronomy enthusiast with lots of questions in his head. Since he was unable to bear the costs, his travel costs were funded by my dad.

Ravi Bhoot

A strange guy in himself. He joined us for this trip even though he had exam on 24th!!!!!! A pure potential of sheer dedication.

And Of course

You know me :D

Also we had the pleasure of having Shireen(one of the great friends of mine and an avid amateur astronomer) & Vishal (Shireen’s friend and an astronomy enthusiasts who is also member of Khagol Mandal), of Mumbai, as part of our team. The were going to join us at Indore on the morning of July 21, 2009.

The Objectives

Primary Objectives

  • Watching the Total Solar Eclipse (Highest Priority)
  • Take pictures and video of Total Solar Eclipse & ,if possible, it’s corona using DSC, Webcam and Camcorder.
  • Timing the Total Solar Eclipse.
  • Measuring & charting air & soil temperature during the total duration of eclipse.
  • Monitoring & charting light intensity using a custom made analog  device coupled to SkyPipe as well as using a modified webcam coupled to a custom made software(programmed by me).
  • Record spectrum of sunlight by using a diffraction grating and a camcorder.
  • Observe & record Shadow Bands(if seen).

Secondary Objectives

  • Monitoring behavioural changes to flora and fauna.
  • Monitoring clouds variations during the duration of eclipse.

The Trip

So, after preparing a lot, finally we embarked on the hopeful journey to see the longest eclipse of the century from a location was, we believed(or rather hoped), the best for us to watch – Indore. Yes, Indore, the beautiful City of Temples  as it is sometimes known. We started out on a local ST bus from Rajkot to Ahmadabad on the afternoon of July 20, 2009  as we had a train to catch for Indore from Kalupur Station, Ahmadabad. The bad things started to happen from Rajkot Bus Depot itself. Even though the morning was cloudy there was no sign of rain and, suddenly, heavy rain started to pour down as we were boarding the bus. The brief moment that we took, to leave the shelter of the depot and board the bus, was enough to drench us completely and when we settled into our seats, we were all wet.

As soon as the bus left Rajkot limits, the rain subsided and it remained that way for almost for the rest of the trip to Ahmadabad. We enquired about the rain condition at Ahmadabad but were relieved to know that there wasn’t  any rain. But as we were destined to have the company of rain for next two days, as soon as the bus drove into Ahmadabad, rain started to pour down heavily!!!! We hurriedly got down at the bus depot and got an auto for the Kalupur station. Once we reached there, we realized that we forgot our BBAC/RCSC banner in the bus itself and so now, it’s all gone.

While we waited for the train at Kalupur Station, the rain kept on pouring heavily as if it’s never going to stop. Later, we boarded the train and as soon as the train left Ahmadabad suburbs, the rain subsided again!!!. The train trip was mostly uneventful as we were almost tired of bus journey as well as cold weather and everybody retired to sleep quite early. Our arrival time at Indore was around 6 AM and so there wasn’t too much to worry. I woke up at around 4 AM, when Ujjain came, to have a look at the sky conditions. The Dholakia team got down at Ujjain as they  wanted to see Ujjain before coming to Indore. The sky was partly cloudy but there was no sign of rain. At 6:30 AM we arrived at Indore station and the first thing wanted to see was sky condition and guess what – it was overcast. After enquiring with locals near the station we got to know that the sky was almost clear for last whole f*****g week. But keeping the hopes high, we reached Gujarati Samaj that was going to be our home for next two days.

The Stay

The morning was quite dull due to overcast sky and cold weather (luckily we had hot water at Gujarati Samaj). So we decided to hang a bit around and get some things that were pending to be purchased & have some descent breakfast. But as soon as we got ready, rain started to pour down(not again) so heavily that the whole road near Gujarati Samaj was submerged under water. We stood, while waiting for the rain to stop, at the gate of Gujarat Samaj dumbstruck with wide open jaws cursing our luck. First the Dholakia Team came, as they were going to stay with us, and the students hurriedly got down from the autos and ran towards the shelter of the building. When they settled in the rooms, they realized that the students had forgotten their Sir’s 4” OTA in the auto itself and the auto guy was no where to be found. Another loss in two days. They went to Railway Station as well as Bus Depot to look for the auto but all efforts were in vain. Meanwhile Shireen & Vishal arrived, tired of an overnight trip in bus. As they were tired, they decided to take some rest. For the rest of the day there wasn’t too much rain and we hanged around the city. But the overcast sky added to de-moralizing situation. At night when we came back, we went off to sleep hoping for better conditions in the morning.

The Special Moment

But, (bad)luck wasn’t going to give up so easily. As soon as the clock ticked 4 AM, it started to rain heavily(why can’t it rain slowly???).  And as the time to totality closed upon us, we had no moral to even take the equipments to the terrace of the building. We gathered around a small TV set that was kept for the night duty manager to watch and envy the people from Bhopal & Varanasi who were damn lucky to be at the right place at the right time. We did go to terrace during totality(prepared to be drenched by rain) as the ambient light started to fade and at a moment, it was complete darkness. We were hardly able to see each other as the cloud cover added to the darkness. The only relief was that we were lucky enough to stand under the shadow of Moon as it east to complete the longest total solar eclipse of the century.

The Return Trip

After the successful failure of the TSE observation, it was time to get back, home. Our train was  at ~10 PM from Ujjain and we’d decided(to make the trip any worthy) that the time we have in our plate, we will use to hang around Ujjain and visit probably Mahakaleshwar Temple.  So as soon as the rain stopped (yes it stopped) at around 11 AM, we packed our bags and boarded the train for Ujjain. We reached Ujjain at around 2 PM and we were damn hungry. So after putting half of our luggage in the cloak(Clock room as per the board outside it) room (as they won’t let us keep our telescope and camera stands in the cloak room), we visited these descent looking hotel with really nice menu. And once we ordered the food and it was served, we realized that it was the worst food we ate in the whole trip. We hardly ate anything and we were planning to visit another restaurant that the rain started to pour heavily(yes….it was always heavy :( ). The moment the rain slowed down a little bit, we just ran to railway station so that we won’t get stuck in that rain. Once we were there, the rain again started to pour down heavily(Don’t say anything…..:|). And it remained the same way till we boarded, an hour late, train. We were stuck in railway station for 9 hours. So during the time we had at railway station, we enquired about rain in Rajkot and guess what there was no rain in Rajkot (remember the rain when we were at Bus Depot in Rajkot). Yeah, no rain. So we thought, thank god, atleast we’ll have a break from rain. But nope, God had different plans for us. When we reached Rajkot at 2 PM on July 24, 2009,(imitating in sarcastic voice) rain started pour down heavily. Even the auto guys were having their time charging 50 bucks for fare that would have been no more than 30 bucks. And finally we parted on the ways to our home not believing the fate our trip we had in last two days.

.

Note: This is rough draft and I haven’t considered time to read it atleast once before publishing so please bear with w/e mistakes you could find.

Advanced Restore via Windows Vista Backup and Restore Center

By Mayank Raichura at August 06, 2009 07:19
Filed Under: Tips & Tricks

While going through a thread at Microsoft Answers, it came to me that how confusing task it can be, to restore files backed up using Windows Vista’s Backup and Restore Center. So, I decided to write up a post describing steps on how to restore your files using Advanced Restore.

Preparation

If you have stored your back up on a removable drive then keep it handy when you start this procedure.

Procedure

  • Insert/Connect the removable drive containing your backup to your system.
  • Click start and type “Backup and Restore Center” in search box and press Enter.

Start the program

  • Click on the Advanced Restore link under “Restore Files” button.

backup-and-restore

  • A new window titled “Backup Status and Configuration” will open.
  • Click “Advanced restore” to continue to next step.

advanced-restore

  • In the this step, select “Files from a backup made on different computer” and click Next.

select-backup-source

  • A new window will ask you to select the source drive/network share where the backup is located.

select-backup-drive

  • Select the first option and select your partition/removable media where the backup is located and click Next.

select-date-to-restore-from

  • After searching through the selected drive, a list of backups present on your drive will be presented to you.
  • Select the most relevant one and click Next.

select-files-and-folders

  • Here you would be asked to select Files/Folders that you want to be restored. If you want to perform complete restore, select “Restore everything in this backup” and click Next.

select-destination

  • Next you would be asked to choose the destination drive/folder where you want to restore your backup. Select one and click continue.

restore-progressfinished

  • Now you are done. Your backup has been restore.

I hope this has helped you in restoring your back-up. All the best.

My first panoramic image in Microsoft HD View. (Updated)

By Mayank Raichura at July 26, 2009 01:52
Filed Under: General

I was playing with Windows Live Photo Gallery & Microsoft Image Composite Editor when I came across Microsoft’s HD View. This new technology allows you to view High Resolution Pictures & Panoramas with fluid ease. In fact, I found it so cool that after looking at examples, I decided to try my own hands on it. So, I dug few panoramic images in my archive that I had taken back in 2007 during my Sarpass trek of YHAI. And here is the result. Tell me what you think of it.

 

The total size is around 3.5 Megabytes so don’t worry about it. The updated version has more depth as  the stitch is created from ~20 original images of 2048px X 1536px. The total dimension of final image was 7458px X 1974px @ 14.04 MP which was then cropped down to 7298px X 1075px @ 7.48 MP giving a total size of ~11MB. Now that’s something to worry about if you have limited bandwidth.

 

 

Click here to visit the full view page.

You will need HD View installed on your system. Also, this feature is currently available only on windows.

Plan for Total Solar Eclipse of July 22, 2009 visible across India, China & Japan

By Mayank Raichura at July 17, 2009 07:47
Filed Under: Flagged

I’ve finally decided my plan for Total Solar Eclipse of July 22, 2009 which is going to be visible across(well almost!!!) India. The eclipse, in India, starts from Surat in Gujarat but the Sun would be at ~2 degrees at totality. Also, recent weather conditions have revealed that the coastal regions in Gujarat have been under the wraps of monsoon rain lowering  the chances of observing the eclipse.

 

As you very well know, India will be having it’s monsoon around mid July lowering the possibility of visibility of eclipse across India. Now, I’m not reach enough to shell out INR 79,000 for a fancy flight across the path of totality. So, I had to stick to the ground and find for a good location to observe it.

 

As per Jay Anderson during a Workshop at New Delhi, based on last 20 yrs collective record, Indore (Madhya Pradesh)  had the lowest cloud cover, followed by Surat, Gujarat. Also, the Sun would be at ~5 degrees at Indore, giving a little more advantage over Surat. While Surat is quite close to my city, I wanted a place that wouldn’t be too far(coz of my budget) yet not too close (due to Sun’s low altitude). After weighing my options, Indore turned out to be the best option for me(actually, I can tell you this only after eclipse is over :D :-s). So, we, a group of 18 consisting of me and other members of Big Bang Astronomy Club will be heading for Indore to observe The Longest Eclipse of Century.

 

Here are some details of totality conditions at Indore, based on Xavier Jubier’s (another speaker at the above said workshop) Google Map for TSE of July 22nd, 2009.

 

First Contact: The first contact is expected to occur at 00:00 UTC(05:30 IST) when Sun would be around ~5 degrees below horizon. Therefore, first contact won’t be visible at Indore.

 

Second Contact: The second contact is expected to occur at ~00:52 UTC(06:22 IST) when Sun would be around ~5 degrees above horizon. If we are lucky enough to not to have have clouds near horizon(which is highly unlikely because of ongoing Monsoon Season), second contact will be visible to us which also marks the start of ~3 min totality. During this phase one can observe Shadow Bands, a phenomenon still strange to our modern world. We are planning to observe and record them for Dr. Hari Om Vats’s Shadow Band Campaign.

 

Totality:  The totality is expected to last for 03 minutes and 06 seconds. This phase is the most important phase of the eclipse. The Sun would be ~5 degrees above horizon. It will be the best time to observe & photograph Solar Corona.

 

 Sky during Totality at Indore. Total Solar Eclipse July 22, 2009

Sky during Totality at Indore

 

Third Contact: After 3 beautiful minutes at 00:55 UTC(06:25 IST), when Sun would be at ~6 degrees, the totality will end with a beautiful diamond ring which again would be visible if there are no clouds. Shadow Bands can be observed during this phase.

 

Fourth Contact: At 01:52 UT (07:22 IST), fourth and final contact will mark the end of The Longest Eclipse of Century. The Sun would shine at ~18 degrees with no part covered by Moon.

 

There are other parameters like intensity of light, temperature, cloud cover etc that we are planning to observe and maintain a record of each of them during the eclipse. But, these are, as of now, just ideas. Can’t say until eclipse is over.

 

So, if you are observing this beautiful eclipse from anywhere, All The Best to you. Don’t forget to tell me how it went for you ;)

 

Other Resources

AAA, Delhi

Eclipse Chasers Athenaeum

Bangalore Astronomy Society

Solar Eclipse Surat

Stylish Font Writer

By Mayank Raichura at July 16, 2009 18:56
Filed Under: Download

Have you ever wished, while using Orkut, to write scraps and your profiles in different font styles without any third party application that shamelessly accesses your friends list and manipulates your updates???? or without logging into  third party sites that are totally not reliable in the first place???

 

Well, even I used to ask the same question to myself. But hey, I can create a client application on my own. All I need is different font styles. And after scouring internet for few hours, I settled with 15 different styles. And I created this small application that writes in your chosen style, on the fly i.e. as you type. Isn't that something? Also, it allows you to copy the whole text to your keyboard while you type, all along, keeping your application window on top. So no more window switching and no more Select All-Ctrl+C or Select All+Right Click+Copy. Just focus on what you have to say and leave styling part to this little application.

Stylish Font Writer for Orkut & My Space

Using Stylish Font Writer with Orkut Scraps

Requirements

  • .Net Framework 3.5 Runtime. Click here to get it.

A Request

I would really love to add more styles to this application. But, for that, I’ll need help from you, yes, the users. If you know of a good font style, please let me know by either leaving the URL as comment or by creating a format string for that font style.

 

To create a format string, all you need to do is create a styled string of A to Z in lower case. For example, for style number 2 in the this application…. I formatted this string

abcdefghijklmnopqrstuvwxyz

into this

αв¢∂єƒgнιנкℓмησρqяѕтυνωχソz

So, next time you come across a new style that you want to be included in this application, please leave the link or formatted string in the comment. I’ll try to include it in my next release.

 

Download

Download Stylish Font Writer

Atlast, a firewall for Windows Vista that could rival Sygate Personal Firewall

By Mayank Raichura at July 09, 2009 00:34
Filed Under: Tips & Tricks

Vista Firewall Control

Sygate Personal Firewall had been my favourite free firewall for Windows XP box since ages and I’d been using it even after Symantec took over Sygate and discontinued the products, including the personal firewall. If you still want use the firewall for your Windows XP box, it’s latest version is still available at Softpedia.

 

Okay, so back to the main topic. Since I got my Dell Studio 15(pre-loaded with Windows Vista Home Premium) in early April, it had been a nightmare for me to use my BSNL Broadband connection because Sygate Personal Firewall is not compatible with Windows Vista. And therefore there was no way to put check on bandwidth eating softwares like Adobe Acrobat who aren’t courteous enough to ask for your permission before downloading updates and therefore my bandwidth used to get wasted. I tried to use Commodo firewall but it sucks like hell and and leaves a mess when you try to un-install it.  Me and my two other friends had to reinstall OS just to get rid of the mess created by Commodo Firewall.

 

So, after getting my bandwidth wasted and paying for extra bandwidth for two continuous months, I struck upon Vista Firewall Control by Sphinx Software. God bless them. I had totally lost hope on finding a decent firewall that would be able to replace SPF but after using Vista Firewall Control, life had never been easy. The software isn’t that complicated. Infact, I just wanted that all outgoing connections should go through my approval and permanently block the applications that are rejected. And, Vista Firewall Control does it very smoothly. With size under 1.5 MB, the application is very light weight on system(so unlike Sygate Personal Firewall!!!) So if you want a firewall that should control which applications should connect to internet, Vista Firewall Control is there for you.

 

 

Regards,

Mayank

Web Service & Client Software to monitor downloads in BlogEngine.Net using Al Nyveldt’s Simple Download Counter Extension (Updated)

By Mayank Raichura at June 30, 2009 00:33
Filed Under: Flagged, Download

It’s been quite a while that I actually wrote a good content but trust me, I was busy for good. Recently, I wanted to monitor downloads(not total monitoring, I’ll leave that to Google Analytics and StatCounter, but just how many files get downloaded everyday) of files I posted on the blog. For this, I’ve been using Al Nyveldt’s Simple Download Counter extension for couple of months. I just loved its simplicity and as it’s name suggests, it was pure vanilla simple extension.

But, due to its simplicity, I had to visit each page to check the download counts. Since, the extension used quite a simple XML file, I thought, maybe I could consume the file in a web service and allow a remote client to connect to it and get its local content synched with the server. And Eureka, it was a great idea(maybe just for me but yeah….it saves my time and is comfortable to use :D).

So I created the web service and a client to consume it. To add little bit of security, I’ve included a plain text passphrase authentication that should give you sufficient enough security(in my initial idea, it wasn’t even there).

Now if that’s enough, why don’t you test the client and provide me feedbacks or bugs that you may encounter during your use and if you like it, just leave your thanks :).

 

Feature List

  • Allows you to monitor downloads of files posted on your BlogEngine.Net Blog without visiting your blog.
  • Provides a simple list of files that are downloaded and how many times they are downloaded.
  • Monitors old and new download values and highlights files that are downloaded since last save.
  • Stores copy of each website locally so that it can load last statistics when that site is monitored. Helpful when you are running multiple instances of BlogEngine.Net
  • Uses a single password for the purpose of security. Uses BlogEngine.Net’s Membership Provider interface to authenticate web service request.
  • Resides in Tray when minimized. Shows a balloon tool tip when a file is(or files are) downloaded.

 

Requirements

  • A working instance of Al Nyveldt’s Simple Download Counter extension which can be downloaded here on the server.
  • .Net Framework 2.0 for the client application.

 

Installation Steps

  • Download the Web Service & Client setup from the below link.
  • Extract it to your favourite location.
  • You will find “downloadstats.cs” under “wwwroot\App_Code”. Open it in your favourite text editor(try Notepad++)
  • Goto line 23 & change  the value of default_hash to your own password. You will need it when you connect using the client application.
  • Upload the files in given structure i.e. “downloadstats.asmx” to your blog root and “downloadstats.cs” as well as “downloadedfile.cs” to your App_Code folder.
  • Install the client application on the client computer.

Usage

Download Stats by Noise De Silence

  • The client application is very simple. You need to provide two three attributes for the application to work.
  • First one is Site URL. You need to enter your complete site URL that you use to access your blog. For example, mine is http://www.mayankraichura.com/. The application appends the web service file name(“/downloadstats.asmx”) to the link you provide. So the final link would look like http://www.mayankraichura.com/downloadstats.asmx.
  • Password is the value you entered in the downloadstats.cs file. Make sure the password you enter and the default_hash value are same. Otherwise, the application won’t work. The web service uses the default Membership Provider to authenticate user. Therefore, you need to provide the username & password to request your download statistics. You can change your password through Users in Admin section of your blog.
  • The default(and the only duration) of update is 1 minute. Once you press the Start button, the client will keep updating the table every 1 minute by querying the web service.
  • The client also compares new values with old values and if there is increase in a value, that record will be highlighted with yellow colour.

Download Stats by Noise De Silence Highlighted


That should be enough for now. Don’t forget to leave your suggestions, comments, bug reports and,if et al, your valuable compliments.

 

Download Link

Simple Download Counter Stats Client.zip

 

 

Regards,

Mayank Raichura

Fighting Comment Spam in BlogEngine.Net

By Mayank Raichura at June 08, 2009 04:13
Filed Under: Flagged, Tips & Tricks

nospam Recently I was going through the comments I received on my posts and I was shocked to see Spam all over it. These comments seem so genuine that it’s hard to identify that they are spam unless you do a little search over it. For example, I received a comment from a person(or rather a  bot) which seemed so faithful that I couldn’t stop replying to it thanking for his interest over my blog. But when I ran a google search over it, the result page was full of such comment from different BlogEngine.Net sites.

 

Infact, I’m already using Akismet extension to protect against comment spam but it is clearly visible that it has severely failed to do so. Anyways, it will always be hard to protect your blogs from Comment Spam but what we can do is stop the spammer getting benefit from it.

 

Let’s first understand the motive behind comment spam. This has to to do with Google’s PageRank feature which, lets just say, works based on the links to different websites. For further information check this page and this page. So, what spammers want to do is increase page rank of their(or their clients’) PageRank by posting comments with links to their sites. So all we need to do is stop Google from indexing these links. And the best way to do it is by using the well known rel=”nofollow” attribute. So let me show you how to implement this feature on your blog.


First of all, it is necessary to know that how comments are shown at the bottom of your blog posts. Well for this, BlogEngine.Net uses a user control called CommentView.ascx that resides in your theme folder. Yes, the control is theme specific and so the c

hanges, we’ll need to make, will be theme specific. I’m just going to show you how to do it in Standard theme that comes out-of-the-box with BlogEngine.Net

 

Open CommentView.ascx in your favourite text editor(if your don’t have one, I suggest you to try Notepad++).

Look for a line similar to the one given below.

 

<%= Comment.Website != null ? "<a href=\"" + Comment.Website + "\" class=\"url fn\">" + Comment.Author + "</a>" : "<span class=\"fn\">" +Comment.Author + "</span>" %>

 

Now, just after class attribute, add rel=”nofollow”. The code should look something like this…

<%= Comment.Website != null ? "<a href=\"" + Comment.Website + "\" class=\"url fn\" rel=\"nofollow\">" + Comment.Author + "</a>" : "<span class=\"fn\">" +Comment.Author + "</span>" %>

 

This will tell Google not to index the links in the comments section and therefore, the links in the comments in the comment would remain futile.

 

 

Your comments and suggestions are always welcome :)

About Mayank Raichura

Mayank Raichura Mayank Raichura is an aspiring VB.Net and ASP.net programmer who hails from Rajkot, Gujarat(India). He is known for his creations like Social Bookmarking Extension for BlogEngine.Net – AddThis and BlogEngine.Net Extension Creator. He has 6 years of experience in ASP and VB6 programming but recently have jumped in ASP.Net and VB.Net. Apart from that he loves sky gazing, photography, hiking, trekking, visiting place and playing games.

He believes - "Problems in life exist so that we can find a way to resolve them and thereby making us stronger and mature."

You can find him on following Social Networking Sites:

Facebook Linked In Flickr RSS Twitter

Chat With Me

Chat with Me!

Statistics

mayankraichura.com visitor count

trace