Tuesday, August 30, 2011

tablet computer

tablet computer, or simply tablet, is a complete mobile computer, larger than a mobile phone or personal digital assistant, integrated into a flat touch screen and primarily operated by touching the screen. It often uses an onscreen virtual keyboard or a digital pen rather than a physicalkeyboard.

Smartphone

Wikipedia: 
smartphone is a high-end mobile phone[1][2][3] which combines the functions of a personal digital assistant (PDA) and a mobile phone. Today's models typically also serve as portable media players and camera phones with high-resolution touchscreensweb browsers that can access and properly display standard web pages rather than only mobile-optimized sites, GPS navigation, Wi-Fi and mobile broadband access.
The term smartphone is usually used to describe phones with more advanced computing ability and connectivity than a contemporary feature phonealthough the distinction can be vague and there is no official definition for what constitutes the difference between them.


A feature phone is typically based on proprietary firmware, while a smartphone runs a more open and complete mobile operating system.[2] Widespread examples of smartphone operating systems are Apple's iOSGoogle's AndroidMicrosoft's Windows Phone 7Nokia'sSymbianRIM's BlackBerry OS, and embedded Linux distributions such as Maemo and MeeGo.


Smartphones can run third-party applications using advanced application programming interfaces (APIs).
Allthough most of today's feature phones are also able to run third-party applications, for example mobile games, these applications are based on rather limited platforms such as Java ME (a virtual machine) or BREW (a pseudo-OS for native code).[1] A smartphone mobile appintegrates more tightly with the user interface and other phone features than a feature phone application, and relies on a more powerfulapplication programming interface (API).[4]


In 2000, the touchscreen Ericsson R380 Smartphone was released.[9] It was the first device to use an open operating system, the Symbian OS.[10] It was the first device marketed as a 'smartphone'.[11] It combined the functions of a mobile phone and a personal digital assistant (PDA).

Android Operating system

Wikipedia:
Android is an operating system for mobile devices such a smartphone, tablet Computer. It is developed by  Open Handset Alliance led by Google.
Google released most of the Android code under the Apache License, a free software licenseAndroid consists of a kernel based on the Linux kernel, with middlewarelibraries and APIswritten in C and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony. Android uses the Dalvik virtual machine withjust-in-time compilation to run compiled Java code. Developers write primarily in Java.

Monday, August 29, 2011

স্মার্টফোন যখন দূর নিয়ন্ত্রক যন্ত্র

প্রথম আলোঃ 
ইচ্ছে করলেই আপনি আপনার হাতের আইফোন, গ্যালাক্সি ইত্যাদি স্মার্টফোনকে পরিণত করতে পারেন টেলিভিশন কিংবা শীতাতপ যন্ত্রের দূর নিয়ন্ত্রকে। এমনকি সেই দূর নিয়ন্ত্রক দিয়ে আপনি বাড়ির বাইরে থেকেই টেলিভিশন, শীতাতপ নিয়ন্ত্রণ যন্ত্র বন্ধ কিংবা চালু করতে পারবেন। শুধু তা-ই নয়, আপনি এখন সেই স্মার্টফোনকে গাড়ি লক করা বা লক খোলার যন্ত্র হিসেবেও ব্যবহার করতে পারেন। হোম অ্যাপ্লায়েন্স অটোমেশনের জন্য বিখ্যাত প্রতিষ্ঠান ক্রেস্ট্রন। এই ক্রেস্ট্রনের মাধ্যমে যেকোনো শীতাতপ নিয়ন্ত্রণ যন্ত্র, টেলিভিশন, ডিভিডি এমনকি দরজা-জানালাকেও হাতের স্মার্টফোন দিয়ে দূর নিয়ন্ত্রণের আওতায় আনা যায়। এর মাধ্যমে ক্রেস্ট্রন সেই টেলিভিশন, ডিভিডি প্লেয়ার ও অন্যান্য জিনিসে সেন্সর লাগানো হয়। সেই সেন্সরটি সংযুক্ত থাকে আপনার হাতের আইফোনের অপারেটিং সিস্টেমের সঙ্গে। তখন বোতাম টিপে খুব সহজেই সেই আইফোনটিকে দূর নিয়ন্ত্রক যন্ত্রে পরিণত করা যায়। আইফোনের পাশাপাশি গ্যালাক্সি কিংবা অ্যান্ড্রয়েড-সংবলিত বিভিন্ন স্মার্টফোনেও ক্রেস্ট্রনের সেই সেন্সরটি কাজ করবে।

স্যামসাংয়ের নতুন মেসেজিং সেবা

প্রথম আলোঃ 
স্যামসাং ইলেকট্রনিক বাজারে আনছে দ্রুতগতির মেসেজিং সেবা। দক্ষিণ কোরিয়ার এ বিখ্যাত মোবাইল হ্যান্ডসেট প্রস্তুতকারী প্রতিষ্ঠানটি এ সেবার মাধ্যমে ব্ল্যাকবেরি, আইফোন ও রিসার্চ ইন মোশনের মতো প্রতিষ্ঠানগুলোকে বাজারে চ্যালেঞ্জ জানানোর পরিকল্পনা করেছে। চ্যাট অন’ নামের স্যামসাংয়ের এই মেসেজিং সেবা অ্যান্ড্রয়েডসহ প্রায় সব স্মার্টফোন প্ল্যাটফর্মেই কাজ করবে। এমনকি এটি আইফোন, ব্ল্যাকবেরি ও আইপ্যাড ব্যবহারকারীরাও ব্যবহার করতে পারবেন। এর মাধ্যমে খুদে বার্তা, ছবি প্রদান ও ভিডিও ক্লিপিং আদান-প্রদান করতে পারবেন ব্যবহারকারীরা।

Sunday, August 28, 2011

Examples of Function pointer







#include
int * function();
int main(){
	auto int *x;
	int *(*ptr)();
	ptr=&function;
	x=(*ptr)();
	printf("%d",*x);
	getchar();getchar();
	return 0;
}
int *function(){
	static int a=10;
	return &a;
}
//Output: 10
/*Explanation: Here function is function whose parameter is void data type
and return type is pointer to int data type.
x=(*ptr)()
=> x=(*&functyion)() //ptr=&function
=> x=function() //From rule *&p=p
=> x=&a
So, *x = *&a = a =10*/
#include
int find(char);
int(*function())(char);
int main(){
	int x;
	int(*ptr)(char);
	ptr=function();
	x=(*ptr)('A');
	printf("%d",x);
	getchar();getchar();
	return 0;
}
int find(char c){
	return c;
}
int(*function())(char){
	return find;
}
//output: 65
/* Explanation:
x=(*ptr)(‘A’)
=> x= (*function ()) (‘A’) //ptr=function ()
//&find=function () i.e. return type of function ()
=> x= (* &find) (‘A’)
=> x= find (‘A’) //From rule*&p=p
=> x= 65*/
#include
char * call(int *,float *);
int main(){
	char *string;
	int a=2;
	float b=2.0l;
	char *(*ptr)(int*,float *);
	ptr=&call;
	string=(*ptr)(&a,&b);
	printf("%s",string);
	getchar();getchar();
	return 0;
}
char *call(int *i,float *j){
	static char *str="c-pointer.blogspot.com";
	printf("%s\n",str);
	str=str+*i+(int)(*j);
	return str;
}
//output: inter.blogspot.com
/*str= str+*i+ (int) (*j)
=”c-pointer.blogspot.com” + *&a+ (int) (*&b)
//i=&a, j=&b
=”c-pointer.blogspot.com” + a+ (int) (b)
=”c-pointer.blogspot.com” +2 + (int) (2.0)
=”c-pointer.blogspot.com” +4
=”inter.blogspot.com”*/

Implement of Callback Functions in C







Function Pointers provide the concept of callback functions. Implement a callback function using function pointer with an example of qsort algorithm.
The function receives the pointer to a comparison-function which takes void-pointers to two field-items, evaluates their ranking and returns the result coded as an int. So every time the sort algorithm needs a decision about the ranking of two items, it just calls the comparison-function via the function pointer.
#include  // due to: qsort
#include  // printf
// comparison-function for the sort-algorithm
// two items are taken by void-pointer, converted and compared
int CmpFunc(const void* _a, const void* _b)
{
	// you’ve got to explicitly cast to the correct type
	const float* a = (const float*) _a;
	const float* b = (const float*) _b;
	if(*a > *b) return 1; // first item is bigger than the second one -> return 1
	else
		if(*a == *b) return 0; // equality -> return 0
		else return -1; // second item is bigger than the first one -> return -1
}
// example for the use of qsort()
void QSortExample()
{
	float field[100];
	for(int c=0;c<5;c++)
		scanf("%f",&field[c]);
	// sort using qsort()
	qsort((void*) field, /*number of items*/ 5, /*size of an item*/ sizeof(field[0]),
	/*comparison-function*/ CmpFunc);
	// display first ten elements of the sorted field
	printf("The first five elements of the sorted field are ...\n");
	for(int c=0;c<5;c++)
		printf("element #%d contains %.0f\n", c+1, field[c]);
	printf("\n");
}
int main(){
	QSortExample();
	getchar();getchar();
	return 0;
}

How to Use Arrays of Function Pointers







#include
//2.8 How to Use Arrays of Function Pointers
int DoMore(float a,char b,char c){printf("DoMore\n");return int(a-b+c);}
int Dolt(float a,char b,char c){printf("Dolt\n");return int(a+b+c);}
// type-definition: 'pt2Function' now can be used as type
typedef int (*pt2Function)(float, char, char);
// illustrate how to work with an array of function pointers
void Array_Of_Function_Pointers(){
	printf("\nExecuting Array_Of_Function_Pointers\n");
	// 1st way using the typedef
	pt2Function funcArr1[10] = {NULL};
	// 2nd way directly defining the array
	int (*funcArr2[10])(float, char, char) = {NULL};
	funcArr1[1] = funcArr2[0] = &DoMore;
	funcArr1[0] = funcArr2[1] = &Dolt;
	// calling a function using an index to address the function pointer
	printf("%d\n", funcArr1[1](12, 'a', 'b')); // short form
	printf("%d\n", (*funcArr1[0])(12, 'a', 'b')); // "correct" way of calling
	printf("%d\n", (*funcArr2[1])(56, 'a', 'b'));
	printf("%d\n", (*funcArr2[0])(34, 'a', 'b'));
}
int main(){
	Array_Of_Function_Pointers();
	getchar();getchar();
	return 0;
}

How to Return a Function Pointer







#include
float Plus (float a, float b) { return a+b; }
float Minus (float a, float b) { return a-b; }
//Direct solution
float (*GetPtr1(const char opCode))(float, float){
	if(opCode == '+')
		return &Plus;
	else
		return &Minus; // default if invalid operator was passed
}
// Solution using a typedef
typedef float(*pt2Func)(float, float);
pt2Func GetPtr2(const char opCode){
	if(opCode == '+')
		return &Plus;
	else
		return &Minus; // default if invalid operator was passed
}
// Execute example code
void Return_A_Function_Pointer(){
	printf("Executing Return_A_Function_Pointer\n");
	float (*pt2Function)(float, float) = NULL;
	pt2Function=GetPtr1('+'); // get function pointer from function ’GetPtr1’
	printf("%f\n",(*pt2Function)(2, 4));// call function using the pointer
	pt2Function=GetPtr2('-'); // get function pointer from function ’GetPtr2’
	printf("%f\n",(*pt2Function)(2, 4));// call function using the pointer
}
int main(){
	Return_A_Function_Pointer();
	getchar();getchar();
	return 0;
}

Pass a Function Pointer as an Argument







#include
int Dolt(float a,char b,char c){printf("Dolt\n");return int(a+b+c);}
void passPtr(int (*pt2function)(float a,char b,char c)){
 int result=(*pt2function)(12,'a','b');// call using function pointer;
 printf("%d\n",result);
}
int main(){
 //pass a function pointer as an argument
 passPtr(&Dolt);
 getchar();getchar();
 return 0;
}

Comparing Function Pointers







#include
//define the calling convention
int __cdecl Dolt(float a,char b,char c); //Borland & Microsoft
//void Dolt(float a,char b,char c) __attribute__((cdecl)); //GNU GCC
int main(){
	int (*pt2Function)(float,char,char)=NULL;
	int a;
	//assignment an address to function pointer
	pt2Function=&Dolt;	
	//comparing function pointer
	if(pt2Function>0){
		if(pt2Function==&Dolt){
			printf("Pointer points to Dolt\n");
			//calling a function using function Pointer
			//int result=pt2Function(12,'a','b'); //c short way
			int result=(*pt2Function)(12,'a','b');//c
			printf("%d\n",result);
		}
		else
			printf("Pointer does not points to Dolt\n");
	}
	else
		printf("Pointer not initialized!!\n");
	getchar();getchar();
	return 0;
}
int Dolt(float a,char b,char c){printf("Dolt\n");return int(a+b+c); }

Replace a Switch-Statement by Function Pointer







#include
#include
using namespace std;
//How to Replace a Switch-Statement with a founction pointer
float Plus (float a, float b) { return a+b;}
float Minus (float a, float b) { return a-b;}
float Multiply(float a, float b) { return a*b;}
float Divide (float a, float b) { return a/b;}
/*void Switch(float a, float b, char opCode)
{
	float result;
	// execute operation
	switch(opCode){
		case '+' : result = Plus (a, b); break;
		case '-' : result = Minus (a, b); break;
		case '*' : result = Multiply (a, b); break;
		case '/' : result = Divide (a, b); break; 
	}
	cout << "Switch: 2+5=" << result << endl; // display result
}*/
void Switch_With_Function_Pointer(float a, float b, float (*pt2Func)(float, float))
{
	float result = pt2Func(a, b); // call using function pointer
	cout << "Switch replaced by function pointer: 2-5="; // display result
	cout << result << endl;
}
// Execute example code
void Replace_A_Switch()
{
	cout << endl << "Executing function 'Replace_A_Switch'" << endl;
	Switch(2, 5, '+');
	Switch_With_Function_Pointer(2, 5, /* pointer to function ’Minus’ */ &Plus);
	Switch_With_Function_Pointer(2, 5, /* pointer to function ’Minus’ */ &Minus);
	Switch_With_Function_Pointer(2, 5, /* pointer to function ’Minus’ */ &Multiply);
	Switch_With_Function_Pointer(2, 5, /* pointer to function ’Minus’ */ &Divide);
}
int main(){
	Replace_A_Switch();
	int a;
	cin>>a;
	return 0;
}

What is Function Pointer

Function pointer points to the address of a function. It just a pointer or variable.

Uses of function pointer:

1. To replace switch/if else statement
2. Implement callback or late-binding
3. Allocation of  space in memory of a this function is very less the the normal function.
4. etc.
It is only important how you, or better your compiler/processor, interpret the memory a pointer points to.


//define a function pointer and initialize to NULL
        int (*pt2Function)(float, char, char) = NULL;
//define the calling convention
        void __cdecl DoIt(float a, char b, char c); // Borland and Microsoft
        void DoIt(float a, char b, char c) __attribute__((cdecl)); // GNU GCC
//assignment of an address to a function pointer
        pt2Function = DoIt; // short form
        pt2Function = &DoMore; // correct assignment using address operator
//calling a function using a function pointer
        int result1 = pt2Function (12, ’a’, ’b’); // C short way
        int result2 = (*pt2Function) (12, ’a’, ’b’); // C

স্যামসাংয়ের বিরুদ্ধে অ্যাপলের আংশিক জয়

প্রথম আলোঃ
প্যাটেন্ট আইন লঙ্ঘনের অভিযোগে নেদারল্যান্ডের আদালতে স্যামস্যাংয়ের বিরুদ্ধে দায়ের করা একটি মামলায় জয় পেয়েছে অ্যাপল। স্যামস্যাংয়ের গ্যালাক্সি ট্যাব, হুবহু আইপ্যাডের অনুকরণ করে বানানো হয়েছিল অভিযোগ করে ইউরোপীয় ইউনিয়নের বেশ কয়েকটি দেশের আদালতে এই মামলা দায়ের করেছিল অ্যাপল ইনকরপোরেশন। ফলে আগামী ১৩ অক্টোবর থেকে নেদারল্যান্ডসহ ইউরোপের বেশ কয়েকটি দেশে গ্যালাক্সি ট্যাবসহ তিনটি মডেলের ফোন বিক্রি করতে পারবে না স্যামস্যাং। অন্যদিকে জার্মানির আদালতে দায়ের করা এ সংক্রান্ত আরেকটি মামলার শুনানির তারিখ পিছিয়ে আগামী ৯ সেপ্টেম্বর নির্ধারণ করা হয়েছে। এ বছরের মার্চ মাস থেকে এই পেটেন্টবিষয়ক দ্বন্দ্বে জড়িয়ে পড়ে প্রযুক্তি খাতের শীর্ষ দুই প্রতিষ্ঠান অ্যাপল ও স্যামসাং। সে সময় অ্যাপল অভিযোগ করেছিল, ‘স্যামসাংয়ের গ্যালাক্সি ট্যাব দেখতে অনেকটাই আইপ্যাডের মতো। এ ছাড়া তাদের হার্ডওয়্যারের আকৃতি, ব্যবহারের সুবিধা এমনকি প্যাকেজিংয়ের পদ্ধতিও অ্যাপলের মতো।’ তবে অ্যাপলের সব অভিযোগের সঙ্গে একমত হতে পারেননি নেদারল্যান্ডের আদালত। তাঁরা তাঁদের রায়ে জানিয়েছেন, স্যামস্যাংয়ের গ্যালাক্সি এস, গ্যালাক্সি এস২ ও এইস মডেলের স্মার্টফোনগুলো অ্যাপলের একটি প্যাটেন্ট লঙ্ঘন করেছে। তবে অ্যাপলের করা অন্য দুটি প্যাটেন্ট তাঁরা লঙ্ঘন করেননি। এ ছাড়া অ্যাপলকে হুবহু নকল করেও প্রতিষ্ঠানটি কোনো পণ্য তৈরি করেনি বলেও মত দিয়েছেন আদালত। এই রায়ের বিরুদ্ধে ইতিমধ্যেই পদক্ষেপ নিয়েছে স্যামস্যাং।

গুগল আনছে টেলিভিশন সেবা

প্রথম আলোঃ
এবার গুগল ইনকরপোরেশন ইউরোপের বাজারে চালু করতে যাচ্ছে টেলিভিশন সেবা। আগামী বছরের শুরুর দিকে ইউরোপের বিভিন্ন দেশে এ সেবা চালু হবে বলে জানিয়েছেন প্রতিষ্ঠানটির নির্বাহী প্রধান এরিক স্মিথ। ২০১০ সালের অক্টোবরে গুগল যুক্তরাষ্ট্রে তাদের টেলিভিশন সেবা চালু করেছিল। তিনি আরও বলেন, ‘অ্যান্ড্রয়েড যেমন অনেক কিছুতেই উন্মুক্ততা এনেছে, ঠিক তেমনি গুগল টিভির মাধ্যমে টেলিভিশন শিল্পকে আমরা উন্মুক্ত করতে পারব বলে আশা রাখি।

Friday, August 26, 2011

What is a Pointer

A Pointer does not store a value directly like variables. It simply store the reference of another value. The variable the pointer is refers to is called "pointee".
















#include
int main(){
    int a;
    int *ptr;
    a=42;
    ptr=&a;
    printf("%d\n",*ptr);
    return 0;
}

৮৫ ভাগ ওষুধ উৎপাদনকারী প্রতিষ্ঠান নিয়ম মানছে না


প্রথম আলঃ ২৬-০৮-২০১১
দেশের ওষুধ উৎপাদনকারী ১৫১টি প্রতিষ্ঠানের মধ্যে মাত্র ২২টি মানসম্মত ওষুধ উৎপাদন ও বিপণন করছে। বাকিগুলো ঔষধ প্রশাসন অধিদপ্তরের অনুমোদন পেলেও খেয়ালখুশিমতো চলছে। ২০০৯ সালের গোড়ার দিকে ব্রাহ্মণবাড়িয়ার রিড ফার্মাসিউটিক্যালসের প্যারাসিটামল ওষুধ খেয়ে ২৪ শিশু কিডনি বিকল হয়ে মারা যায়। ওই ঘটনার পর স্বাস্থ্য মন্ত্রণালয়-সম্পর্কিত সংসদীয় স্থায়ী কমিটি দেশের ওষুধ শিল্পপ্রতিষ্ঠানগুলোর মান নির্ণয়ে ঢাকা বিশ্ববিদ্যালয়ের ফার্মেসি অনুষদের ডিন আ ব ম ফারুকের নেতৃত্বে একটি বিশেষজ্ঞ কমিটি গঠন করে। প্রায় দেড় বছর ধরে বাংলাদেশের সব কটি প্রতিষ্ঠান ঘুরে কমিটি প্রতিবেদন পেশ করেছে। কমিটির প্রধান আ ব ম ফারুক প্রথম আলোকে বলেন, ১৯৮২ ও ২০০৫ সালের ওষুধনীতিতে বিশ্ব স্বাস্থ্য সংস্থার ‘গুড ম্যানুফ্যাকচারিং প্র্যাকটিস’ (উত্তম উৎপাদন কৌশল—জিএমপি) অনুসরণের নির্দেশনা ছিল। কিন্তু অনেক প্রতিষ্ঠানই নিয়মকানুন মানছে না। এই প্রতিষ্ঠানগুলো যেসব ওষুধ উৎপাদন করছে, সেগুলো জনস্বাস্থ্যের জন্য মারাত্মক হুমকি। হয়তো অনেকে এসব ওষুধের কারণে মারাও যাচ্ছে। খতিয়ে দেখা হচ্ছে না। বাংলাদেশ ওষুধ শিল্প সমিতির সাধারণ সম্পাদক আবদুল মুক্তাদির প্রথম আলোকে বলেন, সংগঠন কোনো প্রতিষ্ঠান বন্ধের সুপারিশ করবে না। তবে সংগঠনের পক্ষ থেকে প্রশিক্ষণ দেওয়ার উদ্যোগ নেওয়া হয়েছে। এ সুযোগ যেকোনো প্রতিষ্ঠান নিতে পারে। কমিটির মন্তব্য, ডি, ই ও এফ শ্রেণীভুক্ত ৬২টি কারখানা উত্তম উৎপাদন-কৌশল অনুযায়ী অনুমোদনযোগ্য নয় এবং জনস্বাস্থ্যের জন্য ক্ষতিকর। তাদের সমস্যা প্রচুর এবং তাদের পক্ষে কার্যকর ও নিরাপদ ওষুধ উৎপাদন করা সম্ভব নয়। প্যারাসিটামল সিরাপে ব্যবহূত প্রোপাইলিন গ্লাইকলের পরিবর্তে ভুলক্রমে ডাই ইথালিন গ্লাইকল ব্যবহার করা হলেও তা নির্ণয়ের কোনো ক্ষমতা নেই এদের। এ ছাড়া যে ওষুধে ৫০০ মিলিগ্রাম থাকার কথা, সে ওষুধে আদতে কতটুকু কী আছে, তাও প্রতিষ্ঠানগুলো পরিমাপ করতে পারছে না।
২০০৮ সালে রিড ফার্মার প্যারাসিটামলে ডাই ইথালিন গ্লাইকল মেশানো হয়েছিল। এই রাসায়নিকটি ট্যানারিশিল্প ও গ্লাস তৈরিতে ব্যবহার হয়। ডাই ইথালিন গ্লাইকলের কারণে শিশুদের কিডনি বিকল হয় বলে চিকিৎসকেরা জানান। প্রোপাইলন গ্লাইকলের দাম বেশি হওয়ায় রীড ফার্মা সিরাপে ডাই ইথালিন গ্লাইকল মিশিয়েছিল। অন্যদিকে ডি, ই এবং এফ ক্যাটাগরির প্রতিষ্ঠানে ওয়াসার পানি সরাসরি ব্যবহার করা হচ্ছে। এদের তাপ ও আর্দ্রতা নিয়ন্ত্রণ করা যায়—এমন কোনো সুষ্ঠু সংরক্ষণের ব্যবস্থা নেই। যেসব উপকরণ নিয়ন্ত্রিত তাপমাত্রায় (৮-২০ ডিগ্রি সেন্টিগ্রেড) সংরক্ষণ করতে হয়, সেসব উপকরণ নষ্ট হয়ে যায়।
সংসদীয় কমিটির সভাপতি শেখ ফজলুল করিম সেলিম প্রথম আলোকে বলেন, পরিদর্শনের সময় দেখা গেছে, মানহীন প্রতিষ্ঠানগুলো ওষুধের কাঁচামাল, শ্রমিকের কাপড়চোপড়, বস্তা-কাগজ—সব এক জায়গায় রাখছে। পানি রাখছে বালতি, মগ, বড় পাত্রের মধ্যে। হাতাকাটা গেঞ্জি ও প্যান্ট পরে ওষুধ তৈরি করছেন শ্রমিকেরা। অথচ বিশেষ ধরনের পোশাক পরে ফার্মাসিস্টদের এ কাজ করার কথা।
ঔষধ প্রশাসন অধিদপ্তরের ভূমিকা প্রশ্নবিদ্ধ: বিশেষজ্ঞ কমিটির প্রধান আ ব ম ফারুক বলেন, ঔষধ প্রশাসন অধিদপ্তরের ভূমিকা খতিয়ে দেখা এ কমিটির উদ্দেশ্য ছিল না। তবে পরিদর্শনের সময় তারা দেখেছে, অধিদপ্তর ২৬১টি প্রতিষ্ঠানকে অনুমোদন দিলেও বাস্তবে ১৯৩টি প্রতিষ্ঠান আছে। বাকি প্রতিষ্ঠানগুলোর কোনো অস্তিত্বই নেই।

Thursday, August 25, 2011

সরে দাঁড়ালেন অ্যাপলের প্রধান স্টিভ জবস



প্রথম আলোঃ ২৫-০৮-২০১১
বিশ্বখ্যাত ‘টেকনোলজি জায়ান্ট’ অ্যাপল ইনকরপোরেশনের প্রধান নির্বাহী কর্মকর্তার (সিইও) পদ থেকে সরে দাঁড়িয়েছেন স্টিভ জবস। তাঁর স্থলাভিষিক্ত হচ্ছেন চিফ অপারেটিং অফিসার টিম কুক। স্টিভ জবস অগ্ন্যাশয়ের ক্যানসারে আক্রান্ত। শারীরিক অবস্থার অবনতি হওয়ায় তিনি সিইও হিসেবে দায়িত্ব পালনে অপারগতা প্রকাশ করেছেন। তবে জবস প্রতিষ্ঠানটির চেয়ারম্যান হিসেবে থাকবেন। আজ বৃহস্পতিবার বার্তা সংস্থা রয়টার্সের এক খবরে এ কথা জানানো হয়েছে।

বাজারে নতুন ট্যাবলেট কম্পিউটার


প্রথম আলোঃ ২৫-০৮-২০১১
দেশের বাজারে এসেছে ইন্সপেরিয়া নামের নতুন একটি ট্যাবলেট কম্পিউটার। যুক্তরাষ্ট্রের ওয়েব টেক ও বাংলাদেশের ইন্সপেরিয়া যৌথভাবে এটি দেশের বাজারে ছাড়ার ঘোষণা দিয়েছে। আর এই ট্যাবলেটের সঙ্গে থাকছে দুই প্রতিষ্ঠানের নিজেদের তৈরি করা সফটওয়্যারের সমন্বয়।
ইন্সপেরিয়ার প্রধান নির্বাহী আর এম এ রশিদ সানজিদ বলেন, এই ট্যাবলেট চলে অ্যান্ড্রয়েড অপারেটিং সিস্টেমে। এতে রয়েছে
সাত ইঞ্চি এলসিডি পর্দা, ৮০০ মেগাহার্টজ প্রসেসর, ৫১২ র‌্যাম ও ৪গিগাবাইট হার্ডডিস্ক। এতে ওয়াইফাই নেটওয়ার্কও আছে।
ওয়েব টেকের প্রধান নির্বাহী মিয়ানদাদ খান জানান, এই ট্যাবলেট কম্পিউটারটিতে মূলত আমাদের তৈরি চারটি সফটওয়্যার দেওয়া থাকবে। এর মধ্যে পকেট অফিস সফটওয়্যারের সাহায্যে একই প্রতিষ্ঠানের সহকর্মীদের সঙ্গে ফাইল আদান-প্রদান করা, সামাজিক যোগাযোগ করা যাবে। এই সফটওয়্যার দিয়ে অফিসের কম্পিউটারকে দূর থেকে নিয়ন্ত্রণ করা যাবে। পকেট ইউনিভার্সিটি নামের সফটওয়্যার দিয়ে ই-বুক পড়া যাবে। শিক্ষক ও শিক্ষার্থীদের সঙ্গে যোগাযোগ করা ছাড়াও ভার্চুয়াল ক্লাস করা যাবে। অপর একটি সফটওয়্যার দিয়ে হোটেলের টেবিলে বসেই খাবারের অর্ডার দেওয়া বা টাকা পরিশোধ করা যাবে। ই-ট্যাবলেটের সঙ্গে যুক্ত বাংলা নিউজ সেন্টারের মাধ্যমে ঘরে বসেই বিভিন্ন বাংলা পত্রিকা পড়া যাবে। যাঁরা এই ট্যাবলেটটি কিনবেন, তাঁরা এই সফটওয়্যারগুলো বিনা মূল্যে পাবেন। এর দাম ১৫ হাজার টাকায়।

Tuesday, August 23, 2011

Union Finding

#include
long p[1000];
long parent(long x)
{
	if(p[x]==-1)
		return x;
	else
	{
		p[x]=parent(p[x]);
		return p[x];
	}
}
int main()
{
	long i,n,N,M,A,B,count[1000],max,p1,p2;
	scanf("%ld",&n);
	while(n--)
	{
		scanf("%ld%ld",&N,&M);
		for(i=0;i<=N;i++)
		{
			p[i]=-1;
			count[i]=0;
		}
		for(i=0;i

Union Finding


#include
long p[1000];
long parent(long x)
{
if(p[x]==-1)
return x;
else
{
p[x]=parent(p[x]);
return p[x];
}
}
int main()
{
long i,n,N,M,A,B,count[1000],max,p1,p2;
scanf("%ld",&n);
while(n--)
{
scanf("%ld%ld",&N,&M);
for(i=0;i<=N;i++) { p[i]=-1; count[i]=0; } for(i=0;i