Get table of dates between two dates (period of dates) dynamically

Well I am kind of sure anyone dealing with database queries must have come across this problem

The problem

You need a list (or better said) table of Dates between two dates (start date, end date ) that you have

 

The solution

Well usually you will be handling this using loops, coursers to do your operation row by row for each date between start date and end date,

While playing around I just found another way(I feel it is better way)

The Better way

Just found out that TSQL (since SQL SERVER 2005) new keyword is introduced WITH and it is used to created temporary table !

So why don’t we create a temp table using WITH that has dates between my start date and end date

Here is how

declare @start datetime

,@end datetime

 

set @start=‘6/20/2011’;

set @end=‘7/19/2011’;

 

with alldates as


(


select @start DateVal


union
all


select DateVal + 1


from alldates


where DateVal + 1 <= @end


)

 


select DateVal


from alldates;

 

This will list down dates

Well doing that will gave me all dates within my start date and end date

 

BUT

but still there is some problems with the WITH keyword (it could be better in SQL SERVER 2008) in SQL SERVER 2005 you can’t use it in complicated query

 

CORRECTION

 

Simple enough what I did currently is I can get the start date and the end date from another table by sql query , so I created a view that that uses the mighty WITH and creates dynamic list of dates between two dates in different table (note: this code is written as if the T_Period table has only one row, in case there were more rows a where condition could have been added like where PeriodToUse=1
)

create
VIEW [dbo].[V_DATES_OF_PERIOD]

AS

 

WITH alldates AS
(SELECT period_start AS DateVal


FROM dbo.T_Period

 


UNION
ALL


SELECT alldates_2.DateVal + 1 AS Expr1


FROM alldates AS alldates_2


WHERE
(alldates_2.DateVal+ 1 <=
(select period_end from dbo.T_Period)

))


SELECT DateVal


FROM alldates AS alldates_1

GO

 

SET
ANSI_NULLS
OFF

GO

SET
QUOTED_IDENTIFIER
OFF

GO

Read More

Our Companies databases are more complicated than twitter and facebook

Just got an idea to find out what are the databases used by the big heads in IT these days

Had a small search and found out the following

 

Google uses BigTable database(created by google)

Twitter uses MYSQL as database ! [I think they moved to some NOSQL kind of DBMS now]

Facebook uses MYSQL as database ! [I think they moved to some NOSQL kind of DBMS now]

( at least these two were using MYSQL the days the article I just read about them were writtern)

 

Well ok we understand the case for google it for sure needs a really extraordinary DBMS that can handle its unique requirements, but what about twitter and facebook!

These two giants have that huge data , and really fast growing database, with huge audience accessing and updating these database rapidly.

It really shows how much power an opensource DBMS like MYSQL can provide and again raises the question why many companies in our part of the world insist their DBMS must be either Oracle or Microsofts’ SQLSERVER !!! while 99% of the companies around here will never require more than the amount of data, number of users, powerfull security that MYSQL provides to Facebook and twitter.

 

What is the problem with the decisions of these companies ?! if you know the answer please let me know in the comment

 

Read More

10 امور لا يستطيع أهل الأي فون الحصول عليها و هي موجودة مع اهل الأندرويد

الأندرويد والأيفون هم رواد التقنية في هذه الأيام فلا يكاد اي حديث تقني يخلو من التطرق لهذين العملاقين و دوما هنالك نقاش و حرب بين مناصري الأندرويد و مناصري الأيفون


نحن هنا من محبي كلا المنصتين فالأيفون يتميز بالجودة كجهاز و كبرامج و المقاييس العالية و الأندرويد يتميز بالتجديد و الخصائص المتميزة الجديدة ، ولا نعني بهذه المقالة حربا على انصار الأيفون أبدا فقط وجدنا بالبحث على النت و التجربة امور موجودة في الأندرويد ولا توجد في الأيفون و نريد هنا ذكرها فقط J

 

10 –

لوحة مفاتيح البديلة : في الأندريد يمكنك تركيب لوحة مفاتيح بديلة عن لوحة المفاتيح القياسية ، و يمكن للوحة المفاتيح هذه ان تتميز عن القياسية في ترتيب الازرار او في اللغات المدعومة أو حتى في طريقة الكتابة مثلا الكتابة بالجيستر اي بالرسم او الكتابة بسحب الإصبع على الأزرار بدا من الضغط عليها او توزيع ازرار لوحة المفاتيح بطريقة دائرية تجعل الأحرف المستعملة بكثرة قريبة من مركز الشاشة و هكذا خيارات كثيرة. أما بالنسبة للأيفون فقد استغربت كثيرا بأن هذه الخاصية غير موجودة ، نعم هنالك برامج للكيبورد و لكنها تعمل كبرنامج منفصل عليك الكتابة فيه ثم نقل (نسخ لصق) الكتابة إلى البرنامج الذي تريد ادخال النص فيه و لا يكون كلوحة مفاتيح تفتح داخل اي برنامج تستعمله

 

9-

التلقائية : أحد أهم برامج الأندرويد هو التاسكر

Tasker

يستطيع هذا البرنامج التحكم في جهازك لدرجة كبيرة فتجده يستطيع الدخول في أعماق التلفون و يتحكم في خصائصه تلقائيا كل ما عليك هو ان تخبر البرنامج الشروط مثلا في الوقت الفلاني او مثلا لما اتواجد في المكان الفلاني او اي شرط آخر او مجموعة شروط معقدة و ثم تخبره ما عليه من تغير خصائص التلفون او خصائص احد البرامج لديك في التلفون ؟

أنا مثلا كلما اشغل الفور اسكوير لا اريد ان اخرج و اشغل الجي بي اس و ارجع اشغل الفور اسكوير ابي اضبط التلفون انه يا تلفون اول ما تشوفني اشغل فور اسكوير خليك شاطر و شغل الجي بي اس وحدك على طول (طبعا ذا المثال بسيط جدا اما امكانيات التعديل كبيرة جدا جدا )

الدرجة الكبيرة جدا في التحكم التي توجد هنا لا توجد في الأيفون ولا أظن انها راح تتواجد في النسخ القادمة منه

 

 

8-

تغييرات عميقة في واجهة الإستخدام :

في الأندريد تستطيع استخدام لانجر launger

القياسي و هو عبارة عن عدد الشاشات التي تحصل عليها و ترتيب الشور كاتس و الأيقونات عليها و لكن هنالك لانجرات اخرى بديلة متوفرة في سوق اندريد مجانية و غير مجانية و هذه بالتالي تسمح و تقوم بتغيير الكثير الكثير من الأمور في كيفية تعاملك مع الشاشات الرئيسية في هاتفك فمنها ما يزيد عدد الشاشات و منها ما يجعل كل شيء سريع للتلفونات القديمة ، منها ما يقدم خصائص جديدة لم تخطر على بالك من قبل قتنقل ثلاثي الأبعاد من الشاشات الرئيسية او التحكم في حجم الويدجيتس او خاصية ان تشغل برنامجا عن طريق رسم حرف او جيستر خاص لتشغيل ذلك البرنامج تخيل كل هذه التخصيصات و التخيرات يمكنك القيام بها في الأندرويد اما في الأيفون فلا تستطيع سوا القيام بتغييرات بسيطة في الواجهة و الشاشة الرئيسية و ذلك بعد ان تقوم بالجيل بريك

 

7-

الويدجيتس

الويدجيتس مفيدة جدا فلا شيء اجمل من افتح تلفوني على الشاشة الرئيسية و ارى أهم أخبار الجزيرة امامي دون أن اغير شي أو ان اجد معلومات طقس اليوم أو آخر تويت من من اتابعهم على تويتر أو آخر بوست في الفيسبوك او ارا قائمة الأمور التي علي العمل عليها اليوم كل هذه الأمور أراها على الشاشة الرئيسية مباشرة دون ان اقوم بتشغيل اي برنامج ، نعم الويدحيتس تستهلك مساحة أكبر من الشورت كاتس على الشاشة الرئيسية و كذلك تستهلك البطارية ولكن بعد ان تجربها على هاتفك لا تستطيع الإستغناء عنها

لا أظلم الأيفون فإذا عملت الجيل بريك ستستطيع وضع بعض الويدجيتس ولكن ذلك سيكون على شاشة القفل وليس على الشاشة الرئيسية كما ان هذه الخاصية غير مدعومة من ابل في الويدجيتس المتوفرة قلال جدا

 

6-

البدائل هاردوير

طيب هنا لا نتكلم عن نظام التشغيل ولكن كون الاندرويد مفتوح المصدر ويسمح لأكثر من مصنع و أكثر من هاردوير بتشغيله جعل هذا ممكنا و هو بدائل سواء على مستوى الهاتف كتلفونا بديلة بخصائص مختلفة و اسعار متفاوتة حتى تتناسق مع احتياجات و امكانيات الكل و كذلك البدائل في الأجهزة التبعية لكل هاتف فهاتفي النكسوس مثلا استطيع شراء بطارية ضخمة له مع غطاء خلفي كبير و ستعيش البطارية فترة أكبر مثل هذه البدائل غير موجودة و لكن نعم الأيفون يتميز بإضافات التي يمكنك أن تضيفها عليه و بجودته

 


5-

التخزين اللاسلكي للبرامج

البحث عن البرامج و الألعاب الجديدة و تخزينها يفترض ان يكون ممتعا وليس مزعجا ولا متعبا

للأسف فالبحث من داخل برنامج سوق البرامج سواء للأيفون ولا الأندرويد ليس مريحا لتلك الدرجة ، الخيار الثاني في الأيفون هو البحث عن البرنامج على الكمبيوتر و ثم اقوم اجيب الايفون مالي من الغرفة الثانية و اوصله بالواير في الكمبيوتر و اشغل ايتونس عشان انقل البرنامج للتلفون

اما الأندرويد حتى لو كان التلفون في بلد ثاني حتى و انا في بلد كل إلي عليه على كمبيوتري بشاشته الكبيرة افتح الاندرويد ماركت ادور البرامج و الألعاب إلي يعجبوني و اضغط كلك و على طول راح ينزل البرنامج و يتخزن في تلفوني إلي هو واجد بعيد عن هذا الكمبيوتر

 

4-

أنظمة تشغيل بديلة

فلنقل انا مستخدم اندوريد ولم يعجبني نظام التشغيل القياسي الذي يأتي من الشركة طيب بسيطة أعمل فلاش حال نظام تشغيل اندرويد معدل من جهة أخرى مثل سيانجين أو غيرها و لو أعرف مبرمج كبير اخليه يضيف لي في النظام اي خاصية خيالية اتخيلتها

طيب لو كنت مستخدم ايفون و ما عجبني نظام التشغيل القياسي الخيار الوحيد عندي انه ابيع التلفون و اشتري اندرويد

 

3-

التحكم في تلفونك من خلال كمبيوترك

هنالك الـ في ان سي في كلا المنصتين حيث يمكنك التحكم بكامل التلفون من جهاز الكمبيوتر كأنك داخل عليه بالريموت ديسكتوب  و هذا شي رائع ولكن هنالك برامج للأندرويد للتحكم في اجزاء معينة فيه  مثلا يمكنني ان اكتب نص في الكروم و ينتقل الى هاتفي

 

2-

فلاش

لا تعليق

 

1

تكامل البرامج

الميزة الكبيرة في الندرويد هو تكامل البرامج فال برنامج يسجل نفسه في نظام التشغيل على انه مقدم الخدمة الفلانية بالتالي تستطيع كل البرامج الأخرى (حتى إلي ما تعرف عن هذا البرنامج المسجل أي شيء) التخاطب معه ارسال الأوامر اليه و استقبال قيم المرجعة منه

مثلا نقول جوجل فويس صار متوفر عندنا كل إلي عليه اخزنه و راح يخزن نفسه كبرنامج اتصال بديل عن برنامج الاتصال القياسي و اقدر اخليه هو الديفولت يعني على طول لما اتصل استعمل جوجل فويس الحين لما اضغط على رقم تلفون في المسج في الموقع في الإيميل على طول راح يشتغل جوجل فويس لانه مسجل في نظام التشغيل انه برنامج اتصال الأساسي لي .

أي فون لا تعليق

 

النتيجة



Read More

Android iPhone Apps developers

Smart phone apps are the new hot thing in the horizon, all technology entrepreneur are thinking to move their business (partially , or clone) from web or desktop to smart phones. Well that not something no one was expecting but until iPhone come to the world people were thinking it will be on Nokia’s Symbian phones anyone remember (S60).

 

Well once iPhone came many developer looked at it as a big possibility, but there were limitations in the initial IOS version ,in wireless mobile data connections (no 3g or very expensive) , in development support (less APIs , limit programming in Objective C) , in features of hardware.

 

But in that time another giant was looking at it also as a big possibility, but why don’t we make the possibility in our own way, and why not make it bigger wider and better! , that giant was Google, and here was the birth of Android.

 

Having these two super powerful operating systems for smart phones(IOS & Android) now it is the time for innovation and there are lots of innovators creating great really great apps and games for these devices that will one day be with each and every human being .

 

As OmanDev.NET we decided two things

  1. As bloggers we will be addressing these innovators of new world and will be reviewing them and their apps & games
  2. As programmers we should start contributing to the world with our ideas our innovations (so wish us luck , or better lend us a helpful hand)

 

 

Read More

Document Management & SharePoint

Document management is an essential need in most if not all organizations in this part of the world. Number operational & tracking information is increasing in a very insane way, and in the same time the requirement of historical evidence and documents by auditing is also increasing and getting complicated in the same time.

 

I remember not long ago we were asked for proof by documents or database records for something happened in the company in 2002 ! that’s almost 10 years ago!!!

Document Management System is a software, or collection of software tools that tracks electronic documents & images of paper documents. These softwares must be able to:

  • index documents’ content
  • keep track of versions of the documents
  • manage permissions on documents and even parts of the documents
  • Allow collaboration on documents
  • Manage and facilitate automated Workflows on documents

 

 

On another hand Microsoft SharePoint (even with all the doubts in performance, and big number of limitations it has) is available and in use in most of the companies in this region. May be the trick is in the kind of licensing that Microsoft provide the companies that they end up finding themselves having SharePoint, so if you have it for what you paid for other products why not to use it and get some benefit out of it.

With this concept organizations will try to use SharePoint as many different products such as

  • Internal site for organization
  • Way of exchanging information, notices, anouncements with employees
  • Team sites
  • Document Library
  • Knowledge base
  • Discustion board
  • Workflows managing platform

 

As a result many organizations including yours have the feeling we need document management, we have SharePoint (well we already paid for it to Microsoft without knowing that) why not to use it for our basic needs of document management!!.

Well this is good and bad

It is good because:

  • Basic features of document management system is available in SharePoint’s Document Library
  • Great integration between SharePoint and MS Office products (w eord, excel,powerpoint, etc)
  • Content types are maintained (need 3rdparty plugin to understand pdf files ) ( a plug in will needed for each type of file not related to MS office products)
  • Indexing of documents content is available as a result good search feature
  • document level permission settings and permission inheritance is available
  • version controlling and management is available
  • collaboration to certain level is available but it gets much better in SharePoint 2010
  • Workflow creation and management is available (need to buy a plugin for better control and management of workflows)

This is also bad because:

  • Document parts level controle is not available. That is you can’t change permissions on sections of the documents or on different sheets or pages of word document by document library will have to live with whatever MS Office offers in this matter
  • Documents are stored inside Database as a blob. Well that’s wrong most of document management system stores documents as files on a storage devices usually associated with backup product and link to the document is stored in the database. Storing the whole document in the database will cause performance issues with your DBMS and you will need huge amount of RAM, may be for this reason there is a best practice in SharePoint to make a single document library have at most 2000 documents (well nothing stops you from adding more, but they suggest to you not to add more)
  • Need of plugins : you will need plugins and many of them depend on your requirements. You better consider the price of plugins you will need while implementing SharePoint document library as your document management system

 

Well here I am not saying either way

I am not saying this is good go and use SharePoint as your document management solution

I am not saying this is bad don’t use SharePoint as your document management solution

It all depend on your requirements!!

You should know the pros and cons (which I tried to provide here as much as I know) and then its your decision

Depending on your requirements SharePoint document library could be the best solution you will ever get for your document management

Or it can be your worst nightmare

So decide well J

Read More