Saturday, June 28, 2008
Google Analytics w/Blogger
It also sounds like this will be done automatically for all Blogger users by the end of the year. Google is currently in private beta with an integration of the MeasureMap tool they purchased (which does analytics) with Blogger.
Wednesday, June 25, 2008
Google, bork, bork, bork!

Marissa Mayer's speech at Google I/O mentioned how she'd added a Swedish Chef option to Google's home pages. It's great - on the home page, it's under Preferences > Interface Language.
Friday, June 20, 2008
Cambridge 8 Somerville 0
The Women's Soccer League was really fun. They played in smaller arenas (Boston played at BU) and while the crowds might have been smaller, you'd never think it. A shame it closed.
Imagine Cambridge playing Somerville, Allston/Brighton, or Boston, or Dorchester. Even if Cambridge had a terrible team, would thousands of fans pay $20, stand in the rain, watch them lose and go home happy? Yup. Would Newton fans require extra police protection? Yup!
Sunday, June 15, 2008
Scoville Sour

I've heard that eating honey helps with hayfever as it gets the body used to the pollen that you're allergic to. Even if it doesn't work in that way, I have an appetite for sugar during hayfever season, and honey is healthier than chocolate bars or whatever.
This spring I tried to eat local honey every day during allergy season, and while I didn't notice an improvement, it was fun. Best was the Scoville Sour, a drink from No.9 Park, which has both honey and maple syrup in it. Apparently I'm allergic to Maple pollen, so this sounded like a good idea.
It's
2.5 oz Hendricks
1 oz lemon juice
1/2 oz honey simple syrup
1/2 oz maple syrup
1/4 tsp cayenne and espelette pepper mix
Friday, June 13, 2008
What's fun, personalized and hotter than watching CNN?
Saw this ad for Persian lessons while I was getting a sandwich. It goes on to say that the lessons will include phrases for playing Backgammon.
Friday, May 30, 2008
Google I/O: Flash on Android, and Wrap-Up

Running Flash on Android
At the Android Q&A, the developers said that the first release will have a webkit browser included but without the ability to have plugins installed. So there won't be Flash or Flash Lite on the Android platform to start. The follow-up release will be able to install plugins into the webkit browser, which will make Flash available assuming Adobe offer an open source version of the Flash plugin.
This should provide the iPhone with some competition. I haven't seen another phone-based web browser as good as the iPhone's yet, and Flash support will be one way to compete. Hopefully this will then lead to Flash on the iPhone.
Wrap-Up
It was interesting that the Android sessions always seemed to be the most packed. I think the Google Gears work had the next highest level of interest.
I found the Gears work the most likely to be used in projects where I work - eg. storing stock and mutual fund data in local databases to allow fast filtering of results.
It was a well put together conference from Google, giving you an introduction to the various areas of web development that they offer developer tools in, and showing how they can be used alone or together to create web applications.
Thursday, May 29, 2008
Introduction to Google's Ajax APIs
Google Ajax developers use any editor to create their applications, the only important thing for Google client side teams is to have a good debugger around - i.e. Firebug. I (still, I know) use Visual Studio's debugger but when you inject script into the DOM it can't find the script to debug sometimes and I can see myself moving over to Firebug.
This Google team's development is done by first building the static HTML files, then by building in the script required, and then adding in the Google APIs. HTML returned by the Google APIs is then styled using CSS classes documented on code.google.com.
Creating an iGoogle widget out of an HTML app is straightforward, you create an XML description file with its height etc and copy it to a google server. iGoogle will render the widget inside an iframe to avoid the possibility of it modifying any other widgets in its script.
Client-Side Performance
Browsers block parallel downloading of script and CSS when a script is being run so be careful with online script placement as a web page will block downloads. Basically be aware that whenever script is reached it will block any further parallel downloading of network objects.
@import statements have the same effect on CSS as inline script with script tags, so use link tags instead.
Defer script that is not needed for the loading of a page with XHR injection. XHR is required as Firefox does not support the DEFER attribute. Use XHR to load the script and then place it in a created script element. This is the best way as it allows for parallel downloading and does not display the busy indicator in the browser which is distracting to a user.
Google I/O day two keynote
50% of the web is in English, 1% in Arabic. Google operates in 110 languages. Translation is done by international users not by machines, much more efficient that way. Mayer used the translation technology to do a Swedish Chef version of a Google page that still gets millions of hits.
Performance correlates with increased hits - a 30% increase in google maps page performance resulted in 30% more hits to the site due to speed and increased ease of learning through faster feedback.
A key point she made was that often an application's purpose is to grow underlying technology not the actual function of the site. The Taxi Finder application that showed GPS-tracked taxis in NYC was not about taxis as much as about learning how to track things via GPS and display them on the web.
Also she emphasized the importance of creativity and prototyping. She builds applications herself from time to time as it's essential to keep a sense of what can be developed. Prototypes are critical as a part of decision making. 50% of google apps started out as a project
in each developer's 20% of work time assigned to prototyping.
Her key points were:
Keep pages as simple as possible. Use split A/B testing to test ideas that come out of usability interviews as sometimes they will turn out to be misleading.
Know your metrics on how your application is operating and how people use it.
Don't let the urgent drown out the important.
Build prototypes, set aside time for prototyping and allow products to arise from developers' creativity.
First day at Google I/O
The keynote showed examples of how Google's technologies can enhance web site development. Google Gears extends the browser's capabilities for all web pages with features such as multi-file upload, a local database similar to HTML 5, file system access, and soon to include camera integration.
GWT allows Java to provide a more sane interface to DHTML development, with one Google client side veteran saying she would not be hand-coding again after using it for Google Health.
Android is an OS for mobiles like Windows Mobile that should appear on some new phones shortly. It offers a universal platform for developing Java applications for mobiles by abstracting out the hardware differences of each phone. Another way to develop for Android is to develop sites that will run on its WebKit browser, which will also then run on the iPhone's browse too. We were shown Pacman running on an Android phone as well as a version of Street View that auto rotates the street view as you move your phone around by taking advantage of the phone's built-in compass. This was very cool.
Some sample web page enhancement APIs were shown that run as Javascript pulled in via script tags from google. They allow easy blog integration onto other sites, and easy integration of youtube content. They join the existing APIs offered by Google to the client to jazz up web sites with little work.
Finally, Google is now also offering free application deployment space on its servers for web applications. It's free for the first 5 million page views per year.
Demonstrations
After the keynote, I went to the area where Google's APIs were being demonstrated. The data visualization API is separate from the charting API and can take data from XML or google spreesdsheets and render charts. One advantage of a DHTML based chart is that it'll run on the iPhone.
Google analytics can be used on Blogger. I'll try this out when I get back on this blog.
The evolution of new features on the web

Alex Russell, one of Dojo's developers, gave a really interesting speech on what the most hopeful ways for the web to evolve might be. He focused on the multiplier effects of an open development system - allowing new developers to learn the web quickly and making code sharing and maintenance easier. Google's Gears was an example of an app along these lines, whereas GWT, despite its great helpfulness to Java developers, removed too much of what is good about the web to be on this track.
Alex's talk was the reason you go to conferences. Often if you mention that there are cases where tables are better than CSS for layout, or how the web standards movement sometimes holds the web back, people look at you funny and say that you're against code standardization and progress and should be sent to the salt mines.
Saturday, May 24, 2008
Cheap liquor
In Cambridge, the cheapest place to buy liquor is... the Wine and Cheese Cask. Actually it's probably in Somerville isn't it...The graph was done with OpenOffice - I've been using it for a week. It's free. If you don't use word processors etc much and think Microsoft Office is too expensive, it's worth downloading.
Saturday, May 17, 2008
Restaurant safety inspection reports
Sunday, May 11, 2008
The easiest way to put a short video on a web page
I've found that the easiest way to add a video hosted on your own web server is with Adobe's free Flash Video player. It makes adding a video to a web page as easy as adding an image. Flash video is the most common video format on the web today, used by sites like YouTube and MySpace, and Adobe's player is only 15K in size and very easy to use and customize.
To get started, save your video in Flash Video format. This usually means saving it with the .flv extension. There are many video programs that can convert movies into Flash Video format, including the Flash Video Encoder program that comes with Adobe Flash.
Once you have your video in FLV format, download the Flash Video player from Adobe Labs. Unzip the files, run any of the example web pages, and you'll see the player playing a sample video. Now replace this sample video with your own video. To do this, view the web page's HTML and change the reference to the sample video's filename with your own movie's filename. The sample page should now be playing your video file.
At this point you should be done and can cut and paste the sample web page's HTML code into your web page. More detailed instructions are in the documentation that comes with the unzipped Adobe Flash Video player.
Friday, May 9, 2008
Two Minute Guide to Middle East Peace
A hundred years ago, the Ottoman Empire ruled Palestine, which was then a large area including present-day Jordan, Lebanon and Israel. After the Ottoman Empire was defeated in World War 1 by the Allies, Great Britain was given stewardship of Palestine by the League of Nations. Britain gradually gave the region of Palestine south of the river Jordan more and more autonomy, and it became known as Transjordan. Only the area to the north of the river was now called Palestine.
Between World Wars 1 and 2, Jewish immigration to Palestine increased because of persecution in Europe. At the end of World War 2, 30% of Palestinians were Jews, and 10% of Palestinian land had become owned by Jews.
This increase angered the Palestinian Arabs, who during WW2 had successfully pressured the British government to limit Jewish immigration into Palestine, even from Axis countries. The Jews in turn were pressuring the British to allow more immigration, and Jewish terrorists attacked many government and military institutions, including assassinating the British Governor Lord Moyne in 1948. In 1947, Britain decided it could not control the region, and asked the United Nations to decide what should happen.
The Creation Of Israel
In 1947, a United Nations committee of neutral countries decided that Palestine should be split into a Palestinian and a Jewish state, except for Jerusalem which was to be governed by the UN as an open city. The Jewish community and leaders accepted this, but the Arabs did not. Indeed, Arab representatives refused to discuss plans for Palestine with the UN. The Palestinian Arabs couldn't understand why half their country should be taken away from them to solve a problem that Europeans had created for themselves through their persecution of the Jews.
Once the U.N. committee's decision was public and had successfully passed a vote in the UN General Assembly, the Arab countries tried to appeal to the International Court of Human Rights, but they did not get enough votes for their case to be heard.
The proposed borders gave the Jewish state 55% of Palestinian land - a generous allocation as only 30% of the Palestinian population was Jewish. The UN committee deciding the borders was initially tending towards recommending a unified Palestinian state, but was impressed by how well existing Jews were already using their Palestinian land.
As the British handover neared, clashes between Arabs and Jews in Palestine escalated and hundreds of people died on both sides. All of the countries neighboring Palestine publicly declared that they would resist the creation of an Israeli state, and it became clear that Israel should expect to be attacked as soon as the British completed their withdrawal.
To make their new country easier to defend, Israeli military forces and gangs attacked Israel's Palestinians to scare them out of their new state's borders, and most Palestinians living in Israel fled to the surrounding areas and Jordan. Hundreds were killed in artillery attacks on their homes and 700,000 were forced to flee. As soon as the British officially completed their pullout in May of 1948, all Arabic countries surrounding Israel attacked it.
The 1948 War
Israel won the war, holding off Egypt, Syria, Jordan, Lebanon, and Iraq. It lost 1% of its 500,000 population as casualties. It grew its UN-determined borders by 20% as a result of the war and also seized Jerusalem. The remainder of Palestine was seized by Egypt (the Gaza Strip) and Jordan (the West Bank).
The Six-Day War and Yom Kippur War
In 1967 and 1973, Israel's Arab neighbors again attacked it in two separate attacks. Israel won both these wars as well. After the Six-Day War it again increased its borders by seizing the Gaza Strip from Egypt, the West Bank from Jordan, and the Golan Heights from Syria.
Today
Today the 700,000 Palestinian refugees displaced out of Israel in 1948 have grown to 4 million in number. They still want to return to their land and houses in Israeli territory.
Arab countries have started to recognize the legitimacy of Israel, including Egypt in the 1980s and the PLO in the Oslo accords. Yet this is a controversial act in the Arab world, leading to the assassination of Sadat and dissatisfaction with the PLO.
Current peace efforts are concentrating on the creation of an Arab Palestinian state from the West Bank, Gaza Strip, and some of the Israeli territory. Many Arab Palestinians see this as just the first step towards regaining all the land that they use to own.
Israel too wants a separate Palestinian state, because a merged state would lead to the Arab population growing to outnumber the Jewish population over time. But it does not want to give up much of its land that it either won in war or has built settlements on.
The UN's original 1947 plan for division is not acceptable to either side. Both sides want Jerusalem, as well as much more land than the other side is prepared to give.
Sunday, March 30, 2008
Two Minute Guide to High Definition Television
TV resolution is measured in the number of lines of dots that go down the screen. Old "regular" TVs have 480 lines of dots going down the screen. High Definition TVs have more - either 720 lines, or 1080 lines. Both are called "HD", so you need to look at the TV's specifications to see just how high the definition is. The more lines, the crisper the image. 1080 is best, but costs most.
There are two types of HD TV: Plasma and LCD. Plasma screens use a separate, tiny, light for every dot on the screen. Plasmas looks very lifelike but are more expensive and are hard to make in screens smaller than 42".
LCDs use a tiny colored shutter for each dot, placed in front of a few large backlights. LCDs are similar to computer monitors, with a bluish tint to their picture from the backlight. LCDs have poorer color contrast than plasmas, which means that dark colors, such as strands of dark-colored hair, are harder to differentiate. To lessen this problem, LCDs dim the backlights on areas of the screen with darker colors, and raise the backlight brightness on areas with bright colors, but this introduces halos around bright objects on dark backgrounds.
HD Video Signals
Cable, satellite, and DVD players provide many different kinds of video signals. Vertical resolution can be either 480, 720, or 1080 lines. The old "standard definition" signal you get from broadcast TV and cable has 480 lines from top to bottom. HD broadcast and cable channels give you either 720 or 1080 lines of vertical resolution - again, both are called HD so you have to do a bit or research to figure out just how good the signal is. HD video coming from a DVD player always has a full 1080 lines of vertical resolution.
With HD cable or satellite TV, some channels are broadcast with 720 lines of resolution, and some are broadcast in what is called "1080i". The i stands for interlaced, and it means that each frame of video contains only odd or even lines going down the screen. In other words, each video frame contains only half the image. Cable TV companies do this because they don't have enough bandwidth to transmit a full 1080 lines of signal, so they either send 720 or they send 1080i, which is basically 1080 but with a 50% slower refresh rate. 1080i works out to be better for images that don't move much, whereas images that do, like sports for example, look better on 720.
To distinguish between 1080 and 1080i, 1080 is always called 1080p. The p stands for progressive, and basically just means you're getting all the lines you'd expect.
HD DVD Players
To play a high definition DVD, you'll need to buy a "Blu-Ray" DVD player. They currently sell for around $300. These players can play regular DVDs as well, but their startup time can be as long as a minute and Sony's top model cannot play audio CDs, so you may not want to let your old equipment go just yet.
Video gamers sometimes prefer to buy a Sony Playstation which, apart from its 1080p gaming capabilities, can also play Blu-ray DVDs. The Playstation has a short 10-second startup time when inserting a Blu-Ray DVD.
HD DVD players play discs recorded in a format called Blu-Ray, which was invented by Sony. There used to be two types of high definition DVD: Blu-Ray and HD-DVD. HD-DVD was created by Toshiba, and was not compatible with Blu-Ray. Both formats offered the same excellent 1080 resolution picture quality. At the start of this year it became clear that Blu-Ray was winning in the marketplace, and Toshiba stopped HD-DVD production. Anyone owning an HD-DVD player will now need to buy a Blu-Ray player, as new movies will only be released in the Blu-Ray format. Because "HD-DVD" can refer both to the type of device as well as to the name of Toshiba's specific format, the terminology can be confusing.
HD Cables
The cables that connect HD components to each other are called HDMI cables. They carry both audio and video in one cable so you'll have less cables to worry about. Top quality HDMI cables are sold on Amazon.com for under $10 a cable. However, they are typically sold for $50 at high street stores, so be careful as there's no need to pay that much. Digital signals (like HDMI cables) include error correction and are not susceptible to interference in the same way as analog signals (like speaker wire). A $5 cable from Amazon can be better made than many $49 high street cables.
Suggestions
The best HD TVs are 1080p plasmas. They currently cost about $1500. However, if you're not going to be buying a high definition DVD player (currently about $300) or Playstation, then you'll not be receiving a 1080p signal, so buying a cheaper 720 TV will not make much difference. Also on the smaller (!) 42" plasmas, it's hard to tell the difference between 720 and 1080 lines of resolution.
Panasonic makes the best plasmas. Pioneer's plasmas are also good. Sony makes good LCDs in their XBR series, and many other companies make good LCDs too. I tested these TVs at a local store and even the best Sony XBR LCD TV did not have a picture as good as the cheaper Panasonic 1080p plasma. In addition, LCD TVs look worse than regular old cathode ray TVs when watching non-HD ("standard definition") TV.
So my recommendation is to get a Panasonic Plasma TV. However, LCDs are usually cheaper than plasma screens, and different people will have different opinions about picture quality and on whether one TV's picture looks better than another.
Saturday, March 29, 2008
Saving money
For car insurance, if you buy 11 or 12 monthly public transport passes each year you can send them in for a rebate. Photocopying pages from your car's manual showing it has a security alarm will lower rates by 20% on that part of the policy. Unless you get into accidents a lot, having a high deductible is usually worth it too.
It's usually worth opening a Roth IRA. You only need to save up $500 to start, and can have one even if you have another retirement plan. Roths are like a little handout from the Government to us, to encourage saving. They allow you to save up to $4000 a year in a special retirement savings account that is taxed less than a normal one. You can withdraw your contributions at any time before retirement without penalty, and even withdraw some of the earnings on your money tax-free to pay for special things like a downpayment on a house.
When doing your taxes, if you've got a regular company job, TurboTax does a really good job for cheap. If you launch it from Fidelity.com's Tax Center you get a 25% discount on fees even if you're not a Fidelity customer. TurboTax can calculate the value of stuff you've given to goodwill using data from eBay, and deduct it as a charitable donation.
If you're planning on living somewhere for a few years it's usually worth buying a place. You'll get a quarter of your mortgage back at tax time, rents increase each year but mortgages stay the same, and you’ll make money as your condo gradually increases in value (about 4% a year). Mortgage interest rebates are another handout from the government to us, to encourage people to buy.
Don't buy new clothes unless they pass the "Am I going to wear this all the time?" test. (From "Stuff" by Paul Graham.)
The major long distance phone providers are quite expensive, there are cheaper companies like PowerNet Global who are just as good.
Friday, March 28, 2008
Video cocktails
Thursday, March 27, 2008
Jack Rose
2oz Applejack, 1oz lime juice, and a few dashes of concentrated pomegranate syrup.One of the bartenders at Cuchi Cuchi said they use pomegranate syrup from Mt Auburn St for their Jack Rose cocktails, which taste great, different from others... The syrup is harsh and molasses-y on its own but goes well with the drink.




