Notice

YouTube.com/BESTTravelers - Visit and SUBSCRIBE to our travel related YouTube Channel named "BEST Travelers"

Wednesday, May 25, 2011

Lecturer Vs. Software Engineer

I have experience as a Lecturer and Software Engineer. So I will be able to describe their differences properly.

Lecturer is a respectable and noble profession where we get chance to create new generation according our point of view. On the other hand, we get lots of respect from students. To them we are everything and has played very important role of their life.

Software Engineer is a profession where we build system for organization. We are the people who direct them in a digital world. We show them way to do impossible task in a single click.

The differences are -
  • In our society, lecturer has more respected then Software Engineer.
  • Lecturer can manage people properly compare to a Software Engineer. Because as a lecturer, we manage lots of students together. But a software engineer doesn’t manage people such a way.
  • The income of Software Engineer is more then Lecturer in most the cases.
  • You will not able to go to top-level position without Masters and PHD degree where as degree does not matter to go up in software companies. You just have to show your skill in software companies.
  • As software engineer you are continuously learning new technologies or doing new projects which is making you mature day by day. On the other hand, we teach student depend on what we have learnt in our educational life. 
  • Task of a Software Engineer is very much challenging then a lecturer. 
  • A fresh graduate can be a lecturer, but a fresh graduate can’t be a Software Engineer.
  • Many women are working as a lecturer, but very limited (1%) women are working as a Software Engineer. Because software engineer is complex profession.

I do respect both professions. In summary, I can say - Lecturer is a noble profession where people respect lecturer’s lots which are incomparable. On the other hand Software Engineer is a challenging profession.


Vs.

Sunday, May 15, 2011

Test driven software engineering for automated course scheduler

In my thesis paper of bachelor Degree, I present details about the scheduling problem of BRAC University and make software for solving these problems. The scheduling problems are essentially the problems that deal with effective distribution of resources. During the scheduling process many constraints have to be considered. Resources are usually limited for most of the scheduling problems it has been shown that they are NP-hard, and that they can not be solved in polynomial time using a deterministic algorithm.
Scheduling a timetable could also be represented like special class of 3D cutting problems. The timetable could be presented as a 3D structure. The dimensions of 3D timetables are: days (x-axis), timeslots (y-axis) and rooms (z-axis). The classes are shown as cubes, which should be placed in a 3D timetable structure. The scheduling is a process of placing those cubes into a timetable, in the way that no conflicting classes (which allocate the same resource, a student group or an instructor) are placed in the same time slot.

The BUACS (BRAC University Automated Course Scheduler) is a specialized program that can also be modified to be used as a generic Time-Table Generator to produce timetable output for a certain set of applicable system constraint. The basic requirement is to place the inputted courses in a time by room table maintaining the pre-defined constraint list for each of the courses. The document will explain the detail requirement and underlying system architecture to achieve the primary goal.

Submitted By:
Md.Asfak-Ur-Rahman (Reza)
Department of Computer Science and Engineering
BRAC University

Supervised By:
Dr. Mumit Khan
Professor & Chairperson
Department of Computer Science and Engineering
BRAC University

A Dissertation Submitted in Partial Fulfillment of the Requirements for the Degree of BACHELOR OF SCIENCE IN COMPUTER SCIENCE & ENGINEERING in the Department of Computer Science and Engineering

Copyright Notice

Contact authors for permission
The concept and writing of this article are protected by copyright. Excepting translations, you may not reproduce this articles online or in print without first obtaining written permission. Please contact me to obtain my written consent.

Include required attribution text
You must include the following text on the same page as your reprint and if the article is used in a print publication, the attribution must read:
"Reprinted with the permission of Engr. Md.Asfak-Ur-Rahman, asfak-ur-rahman.blogspot.com"
Artwork and design cannot be reproduced
You may translate my articles into languages other than English, free of charge, without prior notice, and without soliciting our written permission, under the following conditions:
  1. Your publication must be freely available. You may not sell my content and concept that you have translated. 
  2. You must faithfully translate the article and concept as written.Except for minor issues of vernacular, you may not alter the my meaning. 
  3. You must link to my web page in which the article appeared, and must credit "Engr. Md.Asfak-Ur-Rahman, asfak-ur-rahman.blogspot.com". You may not claim to have written the material yourself. (But you know that.)
You must include the following text on the same page as your translation:
"Translated with the permission of Engr. Md.Asfak-Ur-Rahman, asfak-ur-rahman.blogspot.com

Friday, May 6, 2011

Captcha image generator using C#

You can use following function to generate new Captcha Image using C#.

public static string NewCaptchaImage()
{
    string RandomHexValue = Guid.NewGuid().ToString("N").Substring(0, 8);
    Bitmap B = new Bitmap(HttpContext.Current.Server.MapPath("~/Images/SystemPic/VerCodeMain.JPG"));
   
    Graphics G = Graphics.FromImage(B);
    G.DrawString(RandomHexValue, new Font("Arial", 23.0f, FontStyle.Underline, GraphicsUnit.Pixel), new SolidBrush(Color.White), B.Width / 5, B.Height / 4);
    B.Save(HttpContext.Current.Server.MapPath("~/Images/SystemPic/VerCodeMainShow.JPG"));
    B.Dispose();
    return RandomHexValue; // Return string for matching
}

Generate new unique ID using C#

You can use following function to generate new unique ID using C#.

public static string NewUniqueID()
{
    return DateTime.Now.ToString("yyyyMMddHHmmss") + Guid.NewGuid().ToString("N");
}

Wednesday, May 4, 2011

Autism is not a disease: A story of my cousin, Mohammad

The name of my cousin is Mohammad Bin Nur who is 5 years old now. I am taking care of him from the age of 1year. He comes to my home almost every day and stay from 6pm to 12am or 1am. He stays with me whole day during my off days and holidays. All family members are very caring about him. And I am too much caring about him. Because he is a very cute boy I have ever seen in my life and he does lots of cute activities. So I am very crazy about him. He is the most important in my life.I call him my JAAN.

But unfortunate he has stopped talking at the age of 3. His parent and I were very worried about this. Few doctors have suggested sending him special school. But we are sure that he is not special child. Because Mohammad follows all of our orders and he understands everything. He is very intelligence and smart. He can operate computer and can play game as well. He plays 'House of the Death 2' game and can go up to 4th boss of the game without my help. So his only problem is - he doesn’t talk, hardly can say few words. Finally one day Mohammad's father has come with a news paper where he found the name of Mohammad's problem. The name of Mohammad problem is Autism which is not a disease. Thus I was searching about Autism and found following details. Now I am searching a perfect solutions for this problem.


Autism is not a disease 
Autism is a disorder of neural development characterized by impaired social interaction and communication, and by restricted and repetitive behavior. These signs all begin before a child is three years old. Autism affects information processing in the brain by altering how nerve cells and their synapses connect and organize; how this occurs is not well understood. It is one of three recognized disorders in the autism spectrum (ASDs), the other two being Asperger syndrome, which lacks delays in cognitive development and language, and Pervasive Developmental Disorder-Not Otherwise Specified (commonly abbreviated as PDD-NOS), which is diagnosed when the full set of criteria for autism or Asperger syndrome are not met.

Autism has a strong genetic basis, although the genetics of autism are complex and it is unclear whether ASD is explained more by rare mutations, or by rare combinations of common genetic variants. In rare cases, autism is strongly associated with agents that cause birth defects. Controversies surround other proposed environmental causes, such as heavy metals, pesticides or childhood vaccines the vaccine hypotheses are biologically implausible and lack convincing scientific evidence. The prevalence of autism is about 1–2 per 1,000 people worldwide; however, the Centers for Disease Control and Prevention (CDC) reports approximately 9 per 1,000 children in the United States are diagnosed with ASD. The number of people diagnosed with autism has increased dramatically since the 1980s, partly due to changes in diagnostic practice; the question of whether actual prevalence has increased is unresolved.

Parents usually notice signs in the first two years of their child's life. The signs usually develop gradually, but some autistic children first develop more normally and then regress. Early behavioral or cognitive intervention can help autistic children gain self-care, social, and communication skills. Although there is no known cure, there have been reported cases of children who recovered. Not many children with autism live independently after reaching adulthood, though some become successful. An autistic culture has developed, with some individuals seeking a cure and others believing autism should be accepted as a difference and not treated as a disorder.

Tuesday, May 3, 2011

Image resizing function using C# maintaining image ratio

You can use following function to re-size an image using C# maintaining image ratio......

public static string NewResizeImage(string MainImage, string NewLocation, int MaxWidth, int MaxHeight)
{
    try
    {
        if (MainImage.Equals(UploadLocation_DefaultImage) == true) return MainImage;
        else if (MainImage.Length > 4)
        {
            string ImageName = BCS.NewUniqueID() + MainImage.Remove(MainImage.Length - 4).Replace(WCS.UploadLocation_UploadTemp, "") + ".jpg";
            string FilePath = HttpContext.Current.Server.MapPath(NewLocation) + ImageName;

            if (File.Exists(FilePath) == false)
            {
                Size S;
                Bitmap Main = new Bitmap(HttpContext.Current.Server.MapPath(MainImage));

                if (Main.Width > MaxWidth || Main.Height > MaxHeight)
                {
                    double WidthRatio = (double)Main.Width / (double)MaxWidth;
                    double HeightRatio = (double)Main.Height / (double)MaxHeight;
                    double Ratio = Math.Max(WidthRatio, HeightRatio);
                    int NewWidth = (int)(Main.Width / Ratio);
                    int NewHeight = (int)(Main.Height / Ratio);
                    S = new Size(NewWidth, NewHeight);
                }
                else
                {
                    S = new Size(Main.Width, Main.Height);
                }
                Bitmap New = new Bitmap(Main, S);
                New.Save(FilePath, ImageFormat.Jpeg);
                New.Dispose();
                Main.Dispose();
            }
            return NewLocation + ImageName;
        }
        else return UploadLocation_DefaultImage;
    }
    catch (Exception) { return UploadLocation_DefaultImage; }
}

Abbreviation:
  • MainImage -> Image which will be re-sized
  • NewLocation  -> NewLocation
  • MaxWidth/MaxHeight -> New Sizeof re-sized image 
  • UploadLocation_DefaultImage -> Location of Default Image

A software which will control the weight of your body

I have lost 3kg weight which I have noticed today. I have posted a comment on Facebook about losing my weight. Then one of my student has come up with a idea of interesting software which will be able to increase or decrease body weight.

My answer was - "I don't think it will be possible to make such a software within 100 years. But not impossible - we have to use Medical Science and IT together. Recently I have heard that Scientists has created human kidneys from stem cells. So we may develop such software near future."

I know, my student was not saying it seriously. Though I am a software developer, so I was thinking about steps of creating such a software. To make such a software, Physiologist or scientist has to find something by whom body weight can be increased or decreased and a small software required to control limit of the weight. So scientist has to give 80-90% effort and software developing porting will be only 10-20%. So this is more scientist related work rather that software developing. So maximum credit will go to the scientist section. Because their task is more complex then the software developer or engineer.

Now scientist are creating kidneys. So according to my rough calculation we will get such a software after year 2083.