Saturday, November 03, 2007

Google Click-to-Call launched this service :)

Click-to-Call FAQ

Privacy Notice

  1. What is this click-to-call feature? How does it work?

  2. Google is testing a new feature that lets you speak directly over the
    phone, for free, to businesses you find on Google search results pages.
    When this feature is available for a business, you'll see a green phone
    icon in their advertisement or a call link next to their contact information.

    Here's how it works: Click the phone icon or call link, and you'll be invited to enter your own phone number into a special field. When you do so and then click Connect for free,
    Google will call your number almost immediately. Pick up, and you'll
    hear ringing on the other end as Google connects you to the business
    you selected. When they answer, you simply talk normally as you would
    with any other call.

  3. Who will get my phone number?

  4. When you enter a number, Google uses it just once: to make the
    automatic connection between you and the business. Your number is
    blocked so that the business can't see it. Google doesn't share your
    number with the business, and we won't use the number to make any other
    calls to you. In addition, your information will be deleted from our
    servers after a period reasonably necessary to operate the service. We
    take your privacy very seriously. Learn more about our Privacy Policy.

  5. Whose caller ID do I see when connected?

  6. The phone number of the business you selected will appear on your
    caller ID when Google connects you. This way, you can save the number
    for future call-backs.

  7. Am I charged for the connection?
  8. No.
    Google pays the bill for all calls, both local and long-distance.
    However, if you give us a mobile phone number, your normal airtime fees
    or other fees charged by your provider for the call may apply.

  9. What if someone enters my phone number instead of theirs as a prank call?

  10. Google takes fraud and spamming very seriously. We use technical
    methods to prevent future prank calls from the same user within a
    reasonable period of time. You won't be charged for any such calls.
    Please contact if you believe someone is
    entering your phone number without your permission or knowledge.

Powered by ScribeFire.

Sunday, October 14, 2007

Making JavaScript Safe with Google Caja

Douglas Crockford continues to bang the drum for securing JavaScript in his latest post:

It is possible to make secure programming languages. Most language
designers do not consider that possibility. JavaScript’s biggest
weakness is that it is not secure. That puts JavaScript in very good
company, but it puts web developers in an untenable position because
they cannot build secure applications in an insecure language.
JavaScript is currently going through a redesign that is again failing
to consider the security of the language. The new language will be
bigger and more complex, which will make it even harder to reason about
its security. I hope that that redesign will be abandoned.

more fruitful approach is to remove insecurity from the language.
JavaScript is most easily improved by removing defective features. I am
aware of two approaches that allow us to build secure applications by
subsetting the insecure language.

The first approach is to use
a verifier. That is how ADsafe works. A verifier statically analyzes a
program, and certifies that the program does not use any of the unsafe
features of the language. This does not guarantee that the program is
safe, but it makes it possible to make programs that are safe. Any
program can compromise its own security. The improvement here is that a
program’s security is not compromised by the language it is written in.

second approach is to use a transformer. A transformer verifies, but it
also modifies the program, adding indirection and runtime checks. The
advantage of transformers is that they allow the use of a larger subset
of the language. For example, ADsafe does not allow the use of the this
parameter. A transformer can allow this because it can inject code
around it and its uses to ensure that it is never used unsafely. The
benefit is that it is more likely that existing programs could run in a
safe mode with little or no modification. I think that is a dubious
benefit because programs that are not designed to be safe probably are
not. The downside is that the final program will be bigger and slower,
and debugging on the transformed program will be more difficult.

Both approaches work. But we still need to fix the browser.

A new project, Google Caja, is trying to do source-to-source translation to secure things:

Using Caja, web apps can safely allow scripts in third party content.

computer industry has only one significant success enabling documents
to carry active content safely: scripts in web pages. Normal users
regularly browse untrusted sites with Javascript turned on. Modulo
browser bugs and phishing, they mostly remain safe. But even though web
apps build on this success, they fail to provide its power. Web apps
generally remove scripts from third party content, reducing content to
passive data. Examples include webmail, groups, blogs, chat, docs and
spreadsheets, wikis, and more.

Were scripts in an
object-capability language, web apps could provide active content
safely, simply, and flexibly. Surprisingly, this is possible within
existing web standards. Caja represents our discovery that a subset of
Javascript is an object-capability language.

FBJS is also trying to do some of this too. Got some time on Friday to look around some code? Take a look at some Caja.

Powered by ScribeFire.

Monday, July 09, 2007

Steve Jobs' Greatest Presentation

Our communications coach mines Jobs' introduction of the iPhone to offer five lessons for making an unforgettable pitch

After a gorgeous afternoon of golf a few days ago, my nephew seemed
anxious to get home, even skipping out on my invitation to dinner. He's
a graduating high school senior, so I assumed he wanted to hang out
with friends. I was partly correct. He wanted to hang out with friends
in line for the new iPhone.

Leave it to Apple (AAPL) Chief Executive Steve Jobs
to create a frenzy that gripped every gadget fan in the country. The
hype, however, started with what I consider Jobs' best presentation to
date—the introduction of the iPhone at the annual Macworld trade show
in January.

After watching and analyzing the presentation, I thought about five
ways to distill Jobs' speaking techniques to help anyone craft and
deliver a persuasive pitch.

1. Build Tension

A good novelist doesn't lay out the entire plot and conclusion on
the first page of the book. He builds up to it. Jobs begins his
presentation by reviewing the "revolutionary" products Apple has
introduced. According to Jobs, "every once in a while a revolutionary
product comes along that changes everything…Apple has been fortunate to
introduce a few things into the world." Jobs continues by describing
the 1984 launch of the Macintosh as an event that "changed the entire
computer industry." The same goes for the introduction of the first
iPod in 2001, a product that he says "changed the entire music

After laying the groundwork, Jobs builds up to the new device by
teasing the audience: "Today, we are introducing three revolutionary
products. The first is a wide-screen iPod with touch controls. The
second is a revolutionary new mobile phone. And the third is a
breakthrough Internet communications device." Jobs continues to build
tension. He repeats the three devices several times then says, "Are you
getting it? These are not three separate devices. This is one
device…today Apple is going to reinvent the phone!" The crowd goes

Jobs conducts a presentation like a symphony, with ebbs and flows,
buildups and climaxes. It leaves his listeners wildly excited. The
takeaway? Build up to something unexpected in your presentations.

Read More Here

Confessions of a Linux Fan: 10 Things You Might Want To Know Before Switching Over To Linux

Original Post

Linux fans (myself included) love to argue to Windows users how much
better the Linuxes are than Microsoft Windows. Now don't get me wrong,
I am not posting this to disprove that Linuxes, BSD's,
or any of the *nixes are better than Windows, they really are. However
(and there's always a however) we tend to be very selective on what we
tell you when it comes to the minor details. Take this as a confession,
as an admission of those details you might not necessarily like about

1. The basic
installation of most mainstream Linux distributions is very easy, but a
first time user might run into trouble when trying to depart from the

Some Linux distributions have Live Cd's, others have very user-friendly GUIs.
However you might find that sometimes the Live CD installer, or the
pretty GUI does not work because the installer does not have the right
graphics drivers. In that case, you either need to find an alternate
installation CD,
or change the options at the boot screen. We don't tell you that this
might happen because 90% of the time, the installer will work fine out
of the box.

2. If you want a proper Linux installation, you are going to have to mess around with the partition table.

see a partition table, and I know how to read it, for a new user, it
might as well be written in [name exotic language of your choice here].
Yes, there are tutorials out there, but if you miss a step, for example
forget to flag the /boot partition for booting, you might find yourself
with a Linux install that does not want to boot up. We forget to tell
you this because most installers either create a partition table for
you, or just install everything into one partition, and Linux will
still work either way, and chances are you will not be able to tell the

3. You will have to learn how to use the command line.

Regardless of how GUIfied
Linuxes have become, a lot of operations still require the command
line, so you better be ready to learn how to use it. Besides, in the
strange occurrence of a system crash, chances are it will revert to a
stable command line interface. We don't tell you this because we,
hardcore Linux users, *love* the command line, and the power of the
command line is one of the major appeals of Linux. We truly believe
everyone should love the command line as much as we do.

4. All those pretty effects of wobbly windows and cube desktops require some work from the user.

In most distributions, you will need to install Beryl/Compiz/Compiz Fusion in order to get those effects. Ubuntu Feisty comes with a slightly-watered-down version of Compiz, with wobbly windows, transparencies and a cubed desktop. For burning window plugins, active corners, etc, you will need to install Bery/Compiz Fusion... which will require some command line and some configuration. I believe the next version of Ubuntu (Gutsy Gibbon) will indeed come with Comiz-Fusion.

5. Yes, more hardware works with Linux than with Windows. No, not all hardware works 100% like it's supposed to.

is specially true with some mainstream peripheral manufacturers. They
have the bizarre notion that Linux users do not need/use peripherals so
they do not publish drivers for Linux. Luckily we have a huge base of
very capable programmers that are willing to reverse engineer drivers
to make the peripherals work with Linux. Unfortunately, because they
are not the manufacturer's drivers, the hardware might not work 100% as
intended all the time. Infamous for this is Logitech, to name one.

If you need/want to install a package not included in the repositories,
or install from source, you might need to do some research.

Linux is very modular, not all dependencies and libraries are installed
by default. If you install an application from the repositories, the
install application will automatically figure out the dependencies that
need to be met. If you are installing an individual package, or from
source, you might need to do some research or read installation
instructions and READMEs and install the required dependencies prior to installing the application.
7. Most mainstream software manufacturers forget about Linux.

You will not find Photoshop for Linux, you will not find Microsoft Office for Linux, you will not find iTunes for Linux. This is especially true for the gaming industry, which has completely overpassed
Linux. This is a blessing in disguise however. Once again, Linux
developers/knights in shining armor have developed native programs,
most of them open source and free (as in beer and free as in speech),
to substitute their commercial cousins. Once again, some are better, some offer the same functionalities, and others are just mediocre. Luckily, we also have Wine, and its commercial cousins, Cedega
and Crossover Office, which offer a port to a lot of Windows programs.
This solution, however, will require in most instances, some work (read
command line) from the user.

8. Linux is not for the meek of heart.

is about being free; about having options. There are literally
thousands of options for every single aspect of Linux, beginning with
your distribution of choice. When you've picked out a distribution, you
will want to choose window manager (Gnome, KDE, XFCE, Fluxbox....).
Once you have that, you will want to customize your desktop theme:
wallpaper, icons, window border shape, color and size, panels,
launchers.... Last but not least, you will have tons of options for
every program (for internet browsing for example, you might want Firefox, or SwiftFox, or Opera, or Konqueror, or
even have command line/text based web browsers). Basically, if you are
an undecided person, you will be overwhelmed with choices.
9. Linux is almost entirely virus/trojan/spyware free, but you will still need some kind of protection.

for Linux usually means a firewall, either installed in your computer,
or in a router/hardware firewall. This, of course, implies a little bit
more work for the user.

10. Linux assumes that you are an intelligent person.

such, it assumes that if you log in as administrator, you know what you
are doing. You can do a lot of damage as administrator. You can
literally screw the whole darn system with a single mistyped command on
the command line. Luckily, for the most part, you will be logged in as a lowly user.
that you are intelligent also implies that you can customize
everything, and if you break something while customizing the system to
your needs, you will know how to fix it, or be willing to work hard and
learn how to fix it.

As a final thought, i guess what we, the
Linux fans, do not tell you is that for the most part "Linux is for
power users, and Windows is for n00bs"
(I've seen this posted somewhere). So think about what I've posted, and
if you are not willing to "geek" around a little, Linux is not for you.

Tuesday, July 03, 2007

WSDL 2.0 approved as an official W3C Recommendation

Original Link

WSDL 2.0 has finally been approved as an official World Wide Web Consortium (W3C) recommendation on June 27 2007. The Web Services Description Working Group
has been working on the standards for more than 6 years. The
recommendation was due on the 31st of December 2006 but has received an
extension to the 30th of June this year.

There has been much debate about whether WSDL 2.0 is the long
awaited and improved successor of WSDL 1.1 (the de facto standard up to
now) or of no relevance at all. Mark Little has written an extensive post on this matter here on InfoQ. The main changes from WSDL 1.1 to 2.0 are:

  • Changes in the naming of WSDL components, e.g. portType has been renamed to interface
  • Removal of message constructs
  • Support of additional Message Exchange Patterns
  • Support of other type systems than XML Schema
  • HTTP binding, which supports POX(Plain Old XML)/REST-style services

Monday, June 04, 2007

Fifty (50!) Tools which can help you

Roy Peter Clark from Poynter Institute has posted up 50 tools that
can help you when you do any kinds of writing. This is a extensive list
of writing tools, but by no mean you need to apply all of them when you
do any writing. There are the Writing Tool links:

You will become handy with these tools over time.
You will begin to recognize their use in the stories you read. You will
see chances to apply them when you revise your own work. Eventually,
they will become part of your flow, natural and automatic …

Links of 50 Writing Tool

  1. Writing Tool #1: Branch to the Right
  2. Writing Tool #2: Use Strong Verbs
  3. Writing Tool #3: Beware of Adverbs
  4. Writing Tool #4: Period As a Stop Sign
  5. Writing Tool #5: Observe Word Territory
  6. Writing Tool #6: Play with Words
  7. Writing Tool #7: Dig for the Concrete and Specific
  8. Writing Tool #8: Seek Original Images
  9. Writing Tool #9: Prefer Simple to Technical
  10. Writing Tool #10: Recognize Your Story’s Roots
  11. Writing Tool #11 Back Off or Show Off
  12. Writing Tool #12: Control the Pace
  13. Writing Tool #13: Show and Tell
  14. Writing Tool #14: Interesting Names
  15. Writing Tool #15: Reveal Character Traits
  16. Writing Tool #16: Odd and Interesting Things
  17. Writing Tool #17: The Number of Elements
  18. Writing Tool #18: Internal Cliffhangers
  19. Writing Tool #19: Tune Your Voice
  20. Writing Tool #20: Narrative Opportunities
  21. Writing Tool #21: Quotes and Dialogue
  22. Writing Tool #22: Get Ready
  23. Writing Tool #23: Place Gold Coins Along the Path
  24. Writing Tool #24: Name the Big Parts
  25. Writing Tool #25: Repeat
  26. Writing Tool #26: Fear Not the Long Sentence
  27. Writing Tool #27: Riffing for Originality
  28. Writing Tool #28: Writing Cinematically
  29. Writing Tool #29: Report for Scenes
  30. Writing Tool #30: Write Endings to Lock the Box
  31. Writing Tool #31: Parallel Lines
  32. Writing Tool #32: Let It Flow
  33. Writing Tool #33: Rehearsal
  34. Writing Tool #34: Cut Big, Then Small
  35. Writing Tool #35: Use Punctuation
  36. Writing Tool #36: Write A Mission Statement for Your Story
  37. Writing Tool #37: Long Projects
  38. Writing Tool #38: Polish Your Jewels
  39. Writing Tool #39: The Voice of Verbs
  40. Writing Tool #40: The Broken Line
  41. Writing Tool #41: X-Ray Reading
  42. Writing Tool #42: Paragraphs
  43. Writing Tool #43: Self-criticism
  44. Writing Tool #44: Save String
  45. Writing Tool #45: Foreshadow
  46. Writing Tool #46: Storytellers, Start Your Engines
  47. Writing Tool #47: Collaboration
  48. Writing Tool #48: Create An Editing Support Group
  49. Writing Tool #49: Learn from Criticism
  50. Writing Tool #50: The Writing Process

Fifty Writing Tools - Poynter Online

Saturday, May 19, 2007

Chasing your dreams

Its 20th May 2007. The digital clock screams it’s 1.20 AM and what the hell are you doing.. i grinned and told, i am chasing my dreams. Yes i am really doing. Do you believe in dreams ? You have to. At least my 24 year old life has taught this to me. Let me elaborate on this.

What is a dream?

In simple terms, dream is a imaginary cloth woven with the reflection of your thoughts. If that was not so simple, try this. Dream is a complex visual which is everything but real.

When i say everything i really mean it. This doesn’t mean that dreams cannot be real. We have to turn our dream a reality. In our life there are certain limitations which we cannot cross because of our current position / commitment. But in dreams, we have no limitations. We can design our platform, actors, relationships, actions actually Everything.

Since childhood we have had lot of dreams. But How many follow ? To add the punch let me rephrase, How many chase ? When we start to live in our dream, our thoughts, characteristics and eventually our actions will get aligned to our dreams. If we dream for good, in reality we will do good.

Do dreams change ?

Yes it will. In real life, change is the only thing that doesn’t change. This holds good for dreams too. Our dreams change because we change, our thoughts mature and our actions get refined.

How to turn dream a reality ?

I hate the way the word DayDreaming being interpreted. There is nothing wrong dreaming in daytime. Actually its good. It will help us to build our castle dream. But in reality, we need to add actions to our dream to build our castle.

Dreams are the fuel for our life. I strongly feel, if we don’t dream we won’t progress. We need to work hard to turn our dream a reality.

Whatever it takes, chase your dream and do keep in mind that there is no substitute for Hard work.

The digital clock in my bedroom again screams it’s 2.20 AM and what the hell are you doing.. i again grinned and said good night. SWEET DREAMS :)

Tuesday, May 08, 2007

Pirates crack Vista at last

Don't know about the authenticity of this. Here is the Original Post

A genuine crack for Windows Vista has just been released by pirate
group Pantheon, which allows a pirated, non-activated installation of
Vista (Home Basic/Premium and Ultimate) to be properly activated and
made fully-operational.

This version of Vista uses System-Locked Pre-Installation 2.0 (SLP
2.0). It allows the “Royalty OEMs” to embed specific licensing
information into the operating system which Vista can activate without
having to go back to Microsoft for verification. The licensing
components include the OEM’s hardware-embedded BIOS ACPI_SLIC (which
has been signed by Microsoft), an XML certificate file which
corresponds to this ACPI_SLIC and a specific OEM product key.

Read this for more