Important notice: Google Apps browser support
Dear Google Apps admin,
In order to continue to improve our products and deliver more sophisticated features and performance, we are harnessing some of the latest improvements in web browser technology. This includes faster JavaScript processing and new standards like HTML5. As a result, over the course of 2010, we will be phasing out support for Microsoft Internet Explorer 6.0 as well as other older browsers that are not supported by their own manufacturers.
We plan to begin phasing out support of these older browsers on the Google Docs suite and the Google Sites editor on March 1, 2010. After that point, certain functionality within these applications may have higher latency and may not work correctly in these older browsers. Later in 2010, we will start to phase out support for these browsers for Google Mail and Google Calendar.
Google Apps will continue to support Internet Explorer 7.0 and above, Firefox 3.0 and above, Google Chrome 4.0 and above, and Safari 3.0 and above.
Starting this week, users on these older browsers will see a message in Google Docs and the Google Sites editor explaining this change and asking them to upgrade their browser. We will also alert you again closer to March 1 to remind you of this change.
In 2009, the Google Apps team delivered more than 100 improvements to enhance your product experience. We are aiming to beat that in 2010 and continue to deliver the best and most innovative collaboration products for businesses.
Thank you for your continued support!
Sincerely,
The Google Apps team
Email preferences: You have received this mandatory email service announcement to update you about important changes to your Google Apps product or account.
Google Inc.
1600 Amphitheatre Parkway
Mountain View, CA 94043

Source: http://www.billshrink.com/
1. Best Blogs of 2008
2. Best New Blogs.
3. Best New Microblog.
4. Best Humanities Blogs(Art/Craft/Painting, Hobby, Literature, Poetry/Fiction)
5. Most Humorous Blogs.
6. Best Group Blogs.
7. Best Food Blogs.
8. Best Entertainment Blogs(blogs on music, television, cinema, theatre & fashion).
9. Best Travel Blogs.
10. Best Sports Blogs.
11. Best Science/Technology Blogs.
12. Best Podcasts.
13. Best Business Blogs.
14. Best Designed Blogs. (Blogs with original designs or with major visible customizations to existing themes)
15. Best New Photo Blogs.
16. Best Personal Blogs.
|
r
Source: Indibloggies
Deleting blank rows is a common thing one would like to do after importing data to excel. There are dozens of ways of achieving the same. I bet, this being one of the simplest:
1. Press F5 on the keyboard. The ‘Go To’ dialog window appears.
2. Click ‘Special..’ button at the bottom left corner of the dialog box.
3. The ‘Go To Special’ dialog window opens.
4. Select ‘Blanks’ radio button and click ok.
5. All the blank rows will be selected on the excel.
6. Click ‘Delete Cells’ under ‘Home’ Tab.
7. This will delete all blank rows on the excel.
My Google Wave invitation mail has just arrived.
I have few invitations left.
Let me know if you need one.
Java utility method to sort a Map based on map values.
@SuppressWarnings(value = { “unchecked” })
public static List sortByValue(final Map m) {
List keys = new ArrayList();
keys.addAll(m.keySet());
Collections.sort(keys, new Comparator() {
public int compare(Object o1, Object o2) {
Object v1 = m.get(o1);
Object v2 = m.get(o2);
if (v1 == null) {
return (v2 == null) ? 0 : 1;
} else if (v1 instanceof Comparable) {
return ((Comparable) v2).compareTo(v1);
} else {
return 0;
}
}
});
return keys;
}
One line code to reverse a string in Python:
strOrig = “xyz”
revStr = s[::-1]
where ’strOrig’ is the source string and ‘revStr’ is the string reversed.
Python is indeed powerful!!
To send free sms, add your service provider’s domain name to the end of the 10-digit mobile number of the person whom you want to send SMS.
For example, if the mobile number is – 123-456-7890 and the provider is AT&T, then sms can be send through email as:
Recipient’s address: 1234567890@message.alltel.com
Type the message in the message ‘Subject’ or message ‘Body’.
Enjoy free messaging!!
Mobile Device Address
Alltel: @message.alltel.com
AT&T: @txt.att.net
Boost Mobile: @myboostmobile.com
Sprint Nextel: @messaging.sprintpcs.com
T-Mobile: @tmomail.com
U.S. Cellular: @email.uscc.net
Verizon: @vtext.com
Virgin Mobile: @vmobl.com
#The prime number generator is using Sieve algorithm for fast prime number computaion. The following are the steps of the algorithm:
#
#Algorithm:
#==========
#
# Step 1. Consider a contiguous list of numbers from two to some maximum. (This is the list of squares on the left side of the picture.)
#
# Step 2. Strike off all multiples of 2 greater than 2 from the list.
#
# Step 3. The next highest, uncrossed off number in the list is a prime number.
#
# Step 4. Strike off all multiples of this number from the list. The crossing-off of multiples can be started at the square of the number, as lower multiples have already been crossed out in previous steps.
#
# Step 5. Repeat steps 3 and 4 until you reach a number greater than or equal to the square root of the highest number in the list; all the numbers remaining in the list are prime.
#
#Source: http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes
import math
def primeNumGenerator(input):
#Here if the input is less than 2, then return an empty list since the smallest prime number is 2
if input < 2: return []
#If input is 2, then return 2
if input == 2: return [2]
# Steps 1&2 of the algorithm – We are here considering a contiguous list of number from 2 to given imput. Setting step of 2 in the range function strikes off all multiples of 2 greater than 2 from the list
s = range(3, input, 2)
mroot = math.sqrt(input)
listofinput = len(s)
i = 0
# Step 3 of the algorithm. We start with number 3 in the list as we have already considered scenarios till number 2 in the list above
m = 3
#As per prime number generator theorm, the numbers in the list are only checked till the square root of the number for which the prime number series is to be generated
while m <= mroot:
if s[i]:
#Step 4 of the algorithm. To strike off all multiples of this number from the list, we need to first calculate the index of the multiple in the list.
#The formula for doing so is (m*m-1). But since we are considering only odd number series, the formula gets modified to: (m*m-1)/2.
#Now since our odd number series does not have 1 (or has a member missing), the formula further gets modified to: ((m*m-1)/2)-1 = (m * m – 3)/2
#Also floor division is used here (//) since only the integer part is needed for index
j = (m * m – 3)//2
# Step 4 of the algorithm continued. Striking off multiple of this number
s[j] = 0
# Continuing to striking all other multiples of this number from the list
while j < listofinput:
s[j] = 0
j += m
# Increasing the index to process with the next number in the list
i = i + 1
# Now the nth element in a odd number series is (2n+1) where n is the index. Since our list starts with 3, the formula gets gets modied to:
# 2(m+1)+1 = 2m+3 which gives us the next number in the series
m = 2 * i + 3
# Using list comprehension to build the prime number series. First we are adding 2 to the series since we didn’t consider 2 in our series are 2 is prime. Now all the indexes not marked as 0 are the prime numbers
return [2]+[prime for prime in s if prime]
if __name__ == ‘__main__’:
num = 20
primeNumberList = primeNumGenerator(num)
print “List of prime numbers from 2 to < %d:” % num
print primeNumberList