Saturday, July 09, 2011

Social Network Optimization

I have no idea if there's a term for what I'm about to describe, so I'll just call it SNO.

Until fairly recently creating a website meant you had to test it on all supported browsers. So, a bit more work. Now even that's not enough. When people share a link to one of your web pages in Facebook, LinkedIn, Google+, etc. you suddenly realize that your content also has to be legible in another format, which, for lack of a better term, I shall call status format.

This is what happens when you post a link to this blog on Facebook:


  1. Facebook chooses a title
  2. They sometimes add description that's an excerpt from that page
  3. They fish around for images and select a few for you to choose from.
Which means I now have to optimize my content, and test it, for Facebook sharing. And, of course, the way LinkedIn does it is totally different and you'll get some other image or a different description. And now Google+ as well...

This is fast becoming a pain for content publishers. The way each social network site parses your website to create its "status" version is not standardized. It's not really predictable, either. They can change it on a whim. The industry has to come up with some solution. Perhaps some HTML tags for each page, like share_photo, share_title, share_summary?

Wednesday, June 01, 2011

You know your SEO is good when

You know your SEO is good when Google suggest your name based on the first letter alone.




As you can see, Amazon wins "a".


Here are the results for the rest of the alphabet:


Bank of America
Craigslist
Dictionary
eBay
Facebook
Google
Hulu
IRS
Jet Blue
Kohls
Lowes
Mapquest
Netflix
Orbitz
Pandora
Quotes
Redbox
Southwest
Target
USPS
Verizon
Weather
XBox
YouTube
Zillow


Gigantt's not there yet. Tough to compete with "Google" for first search result on their own engine..

Friday, April 08, 2011

הבעיה עם כיפת ברזל

ישראל מעולם לא הגיבה להתקפות הטילים עליה באופן שתואם את הכוונה מאחוריהן. אנחנו מגיבים לפי הנזק שנגרם ולא לפי הנזק שיכול היה להיגרם. אם יורים עלינו 100 טילים ורק אחד פוגע אנחנו מגיבים כאילו ירו רק אחד.
זו הסיבה שכיפת ברזל לא תביא לשיפור בטחוני אמיתי. כמות הטילים רק תעלה כדי לפצות על אלו שיורטו. במקום לירות 100 טילים כדי לפגוע בגן ילדים הם יצטרכו לירות 200. אנחנו נגיב בכל אופן באותה המידה. כלומר, נחכה שגן ילדים יפגע ואז "ניכנס בהם".

יש נטיה אנושית ידועה לשמור על רמה מסוימת של סיכון איתה מרגישים בנוח. מחקרים הראו שמי שרוכב על אופנוע בלי קסדה מקפיד לשמור על רמת סיכון מסוימת ע"י נסיעה איטית ובטוחה יותר. אבל ברגע ששמים קסדה אוטומטית מגבירים את המהירות כדי בעצם לחזור לרמת הסיכון הקודמת. כאלה אנחנו. סתומים.

אז בואו נקרא לזה קסדת ברזל. סתם דרך לספוג יותר טילים מבלי להוריד את הסיכון האמיתי לפגיעה.

Saturday, March 12, 2011

A standard for defining binary protocols

In 2003 I had an idea - use XML to describe binary protocols. You see, whereas XML-derived language are described by schemas (e.g. XSD), there's not such tool for binary protocols. So every binary protocol has to be documented in its own proprietary way. This lack of a common way to describe binary formats/protocols makes it hard to implement tools that know how to speak these protocols, not to mention tools that automatically convert data between them. My idea was supposed to solve that.

Anyway, today I see that the w3c have come up with a new standard: EXI. At first I was like "great, yet another standard for passing information - just what we need". But actually it's really similar to the idea I had. It's basically an XML language that describes efficient binary protocols. From I gather (skimming through the standard for 3 minutes) they do something that reminds me of Huffman encoding of the data types and end up with a very efficient binary representation, but one that is has an XML spec. I hope this becomes popular.

I have no illusions that my idea had anything to do with this standard. But I'm happy to see it wasn't such a stupid idea after all. :)