Google IO 2011 – Day 2

Is Google taking over the world or is Google taking over the world??

Google IO logo

so, they are taking over the Mobile Phones market, … they are headed for Home appliances (Android@Home) and now this ….

Google just announced “Chromebook” (http://www.google.com/chromebook/#features) a notebook that has a web-based OS, A.K.A “Chrome OS” …
Chromebook

Now, this is not the first time they talk about “Chrome OS” but this time they have team-ed up with hardware manufacturers (Samsung and Acer) to build a complete consumer product. and they will give every Google IO 2011 attendee a free Samsung Chrome-book! (Plus the Samsung Tab 2 gift that they announced yesterday) .. Man those guys are lucky

On another note, .. Google has just announced “Angry Birds” first truly web-based experience on Chrome (using nothing but JavaScript, HTML5 and of course the engines!) ..

Angry Birds

What are you waiting for? go get it and try it on your chrome! https://chrome.google.com/webstore/detail/aknpkdffaafgjchaibgeefbgmgeghloj?hl=en-US .. happy angry-bird-ing x)

Read More

Google I/O 2011

Google i/o 2011

What is up Google?

Google just announced some really interesting stuff at Google IO 2011, and no am not talking about HoneyComb 3.1 or the new Ice Cream Sandwich Logo!!

They announced Project “Android@Home” A.K.A “Skynet”!!! Lol I mean seriously!!! its about controlling your home using your phone.

switching your lights On / Off using your phone, opening the TV, activating the Washing Machine, .. i know that most of those things already exist separately, .. but doing it all using your android device … that is cool, but maaan i could think of many things go wrong x).

another thing announced is this “wireless protocol” i can see Bluetooth dying soon (anyone remembers InfraRed??)

and how the hell did they manage to transfer a whole music CD to a “white orb” wirelessly within 2 seconds!!! 2 SECONDS!!! just by waving a CD to a white orb! How did they do that?

Android@Home is the big thing, Google is going bigger than ever!

Read More

Google Code Jam 2011

First time for me at Google Code Jam.

The timing of the contest is awful for people in the middle east (the competition starts at 3:00am). and yes i know that it stays open for 24 hours, but you receive penalty for each one minute late you submit your answer! and its not the weekend for us (our weekend is Thursday + Friday not on Saturday + Sunday! ), AND most of us have jobs / courses to attend the next day, so yeah the time is awful!.

anyways, qualification questions this year was not really REALLY hard! i would assume many people would been able to solve at least 3 questions out of four given good practice and clear mind.

I had only about 2.5 hours to look at the questions and solve them, I concentrated on the first question (which had 20 points). which was obviously a bad decision from my side (i didnt pay attention to the qualification criteria), because the one needs at least 25 points to qualify, and this is the only question that had under 25 points!!!

Problem A (you can view the questions list from http://code.google.com/codejam/contest/) was entitled “Bot Trust” the moment i saw it i knew i JUST KNEW that there is a simple equation to get the result, i tried to figure out the equation but i just couldnt, so i took the long way, and I simulated the whole thing and submitted.

I had a chance to look at other question, i checked questions B and C, entitled “Magicka” and “Candy Splitting” respectively.

Magicka is easy if you use queues, you enqueue the invoking list, dequeue character by character and compare with the combination / clear list you have, the bad thing about this question (as i found out) was the hideous input splitting, there were so many different tokens in the input that it just gave me headache and i stopped half way through, i was able to generate a decent list of cases, but it was not entirely accurate, i didnt continue further, i left this problem because it gave me a massive headache.

Candy Splitting” … ohhh Candy Splitting, i should have started with this problem i would have been qualified by now, .. its nothing than a mere XOR operation, when i looked at it, it was very late and i barely had any energy but to regret on “WHY oh WHY didnt i start with this problem”.

i didnt read the last questions “GoroSort” .. funny name, though! lol

anyways, .. it was fun, couple of lessons learned

1. Look at (and understand) ALL the questions before you start solving any of them.
2. Pay attention to the points given to each question, dont spend time on solving questions that has lower value if you could spend the same time solving a higher value.
3. If you are working / studying on next Google Code Jam (and you want to solve many questions), would recommend you take the day off.
4. Prepare some code before the competition (file I/O, some useful algorithms, etc) they come in handy in the competition.

See you at Google Code Jam 2012

btw, you can view the solutions of other competitors (in case you are wondering how they solved a given problem) go here http://code.google.com/codejam/contest/scoreboard?c=975485 then check the “Solution Download” check box

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

T Chat 20 April 2011 (The Revival)

Well hope you remember what TChat is! Well if you don’t here is what is TChat and here is one of the best TChat sessions we had

Well for unknown (or better say anonymous reasons) T Chat stopped for more than a year, but finally last week it was revived with the meeting of Hassan, Khaled, Yamani, Qais and myself in Mood Café discussing different IT stuffs as we used to do previously! Well I know it is not that safe to say it is revived may be it is spelling its last breaths before a fatal death but we always hope for better and wish these meetings will continue after this.

With the quiet and lovely place in mood café with a bit low lights and interesting menu we had coffee, chocolate drinks and a sandwich with the following topics.

 

 

 

Topics discussed in TChat 1:

  • SharePoint and Document Management: here Ali showed what is document management systems and how if your organization have SharePoint can use it to get minimal document management features, Also it was shown that the document library in SharePoint are not good enough to be considered as full document management solution, in fact there are many things that may stop you using it as a document management solution.
  • Apps: in this part Yamani showed us number of interesting iPhone and android apps and discussed the usefulness of each of them

 

 

 

 

 

 

 

 

  • Exchange 2010 : here Khalid Al Mamari given us basic introduction on what’s there and what’s new in exchange 2010
  • Light painting photography session : where using Qais camera , Ali ,Hassan, and Qais experimented light painting photography J

 

Read More

Python playing around (syntax for the first time move to python)

check : why python , why python2

Well just started playing around with it again J

Found out few nice things and surprised by few others while trying, writing them down so anyone moving to python can have a nice look and fast forward on how to write in python syntax.

Its no suprize that in python we don’t have to declare variables (common it is dynamic typed language) but that makes it a bit strange for JAVA, or C# guy see how

Well I is a integer that has the value 5 , b is an string which have the value “ali” and C is a complex number with value (4+2j) !! wow python support complex number on the very basic level ! great but how that can be helpful for me ?! don’t know but people with good math knowledge will love it I think.

For Math and science people good news is it also supports scientific notations of big numbers like 5 x 104 but that will be writer as 5E4

Another interesting and confusing thing is the semicolons “;” if you notice each line of code has a semicolon at the end of it but hay that’s not necessary at all !!! you can write the application without semicolons when ever you go to new line the python understands that it is end of command just like if there is a semicolon !!

Well but what if I need to go to new line (to make my code more readable and then finish the command? That’s ok all I have to do then is to have a “\” at the end of the first line (which is not the end of the command)

i.e




or


Well for myself I would prefer having semicolons in both the single line commands and on multiple line commands that at least make the code look better and more readable to me .

Now some interesting things regarding strings in here is

You can have single quote symbols ‘ in a string written between 2 double quotes “”

You can have double quote symbols ” in a string writer between 2 single quotes ”

You can have single quotes ‘ and double quotes ” and new lines (you can write actually multiple line String without using scape charectors like (\n) ) if you put the string between three double quotes “”" or three single quotes ”’

That was pretty interesting to me to be able to write multiple lines of sting without using scape sequences like \n , but python support these sequences like \n for new line \t for tab and others. Similarly if you like to write a \ in the string as many other programming languages you will have to scape it with another \ so you will write \\ . But there is a better way , which is to write a raw string

Having r before the quotes of the string indicate that this is a raw string so don’t apply any escape sequences on it so \n will be printed as it is and not will be interpreted as new line.

Similarly having u before the quotes of the string means that the string contain Unicode characters which could be Arabic language or some other language characters

One more interesting thing about strings is writing two strings near each other concatenate them see

Is equivalent to

I think that enough of playing around with python for now. I wish will be continuing these series of interesting things about python .

Read More