Firefox 3.5 is out, please post your comments about compatibility

Follow Firefox 3.5 on Twitter

- big speed improvements
- geolocation: "... at least puts me in the correct country!"


Download:

Geolocation: the browser located me in Milwaukee, when catually I am in Kenosha (black arrow)





As an Amazon Associate I earn from qualifying purchases.

Firefox 3.5 is out, please post your comments about compatibility

Follow Firefox 3.5 on Twitter

- big speed improvements
- geolocation: "... at least puts me in the correct country!"


Download:

Geolocation: the browser located me in Milwaukee, when catually I am in Kenosha (black arrow)





As an Amazon Associate I earn from qualifying purchases.

Using social networking for sports reporting

Here is a good article about reporting sports using social networking tools. Since my business is all about this subject I thought I will repost it. There are the major bullet points:


- Be human (use real name, not "sports bot")
- Be honest (engage honestly)
- Be aware (users really care about the subject you are reporting)
- Be everywhere (provide answers and feedback to the community)
- Show your work (and your references)
















As an Amazon Associate I earn from qualifying purchases.

Using social networking for sports reporting

Here is a good article about reporting sports using social networking tools. Since my business is all about this subject I thought I will repost it. There are the major bullet points:

Be human (use real name, not "sports bot")
- Be honest (engage honestly)
- Be aware (users really care about the subject you are reporting)
- Be everywhere (provide answers and feedback to community)
- Show your work (and your references)
















As an Amazon Associate I earn from qualifying purchases.

Using social networking for sports reporting

Here is a good article about reporting sports using social networking tools. Since my business is all about this subject I thought I will repost it. There are the major bullet points:

Be human (use real name, not "sports bot")
- Be honest (engage honestly)
- Be aware (users really care about the subject you are reporting)
- Be everywhere (provide answers and feedback to community)
- Show your work (and your references)
















As an Amazon Associate I earn from qualifying purchases.

Tips on converting GWT Listeners to new Handlers

These tips all depend on using Eclipse.

Start with all the ClickListeners and do them all at once. Use Eclipse "Java Search": Search String = ClickListener, Search For = Type, Limit To = References.

For simple click situations, copy these lines:

.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event)
{

and paste them in to replace every instance of

.addClickListener(new ClickListener() {
public void onClick(Widget sender)
{

Here's an extra tip: Instead of pasting the above code from here, paste it once into one of your classes. Once you get it valid there, copy that and paste it in to replace all your listeners. When you copy and paste this way, eclipse automatically pulls in the imports for you as well.

If the sender parameter had been used, replace references to it with event.getSource(). You will probably have to cast it.

For other situations, make heavy use of auto-complete (CTRL-SPACE). For example

myObject.addCl<CTRL-SPACE><ENTER> -> myObject.addClickHandler()

myObject.addClickHandler(new <CTRL-SPACE><ENTER>) -> myObject.addClickHandler(new ClickHander)

myObject.addClickHandler(new ClickHander() {<ENTER>) ->

myObject.addClickHandler(new ClickHander() {

})

myObject.addClickHandler(new ClickHander() {
<CTRL-SPACE><ENTER>
})

->

myObject.addClickHandler(new ClickHander() {
public void onClick(ClickEvent event) {
// TODO Auto-generated method stub

}
})

Final tip: Put your cursor at the end of a listener class name (ex: new ClickListener|()) and press <CTRL-SPACE>. This will bring up the class along with other suggestions in a list. But it will also show the Java Doc for that class, which will tell you what handler(s) you should use instead. The same works for methods like addClickListener().


As an Amazon Associate I earn from qualifying purchases.

Tips on converting GWT Listeners to new Handlers

These tips all depend on using Eclipse.

Start with all the ClickListeners and do them all at once. Use Eclipse "Java Search": Search String = ClickListener, Search For = Type, Limit To = References.

For simple click situations, copy these lines:

.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event)
{

and paste them in to replace every instance of

.addClickListener(new ClickListener() {
public void onClick(Widget sender)
{

Here's an extra tip: Instead of pasting the above code from here, paste it once into one of your classes. Once you get it valid there, copy that and paste it in to replace all your listeners. When you copy and paste this way, eclipse automatically pulls in the imports for you as well.

If the sender parameter had been used, replace references to it with event.getSource(). You will probably have to cast it.

For other situations, make heavy use of auto-complete (CTRL-SPACE). For example

myObject.addCl<CTRL-SPACE><ENTER> -> myObject.addClickHandler()

myObject.addClickHandler(new <CTRL-SPACE><ENTER>) -> myObject.addClickHandler(new ClickHander)

myObject.addClickHandler(new ClickHander() {<ENTER>) ->

myObject.addClickHandler(new ClickHander() {

})

myObject.addClickHandler(new ClickHander() {
<CTRL-SPACE><ENTER>
})

->

myObject.addClickHandler(new ClickHander() {
public void onClick(ClickEvent event) {
// TODO Auto-generated method stub

}
})

Final tip: Put your cursor at the end of a listener class name (ex: new ClickListener|()) and press <CTRL-SPACE>. This will bring up the class along with other suggestions in a list. But it will also show the Java Doc for that class, which will tell you what handler(s) you should use instead. The same works for methods like addClickListener().


As an Amazon Associate I earn from qualifying purchases.

Entrepreneurial Thought Leaders






As an Amazon Associate I earn from qualifying purchases.

Zazzle: Entrepreneurial Thought Leaders






As an Amazon Associate I earn from qualifying purchases.

Time Magazine @Twitter

"... when the conference wrapped up there was a public record of hundreds of tweets documenting the conversation ..."

"... it gave the event an afterlife on the Web ..."

"... last week the anticommunist uprising in Moldova was organized on Twitter ..."






As an Amazon Associate I earn from qualifying purchases.

Time Magazine @Twitter

"... when the conference wrapped up there was a public record of hundreds of tweets documenting the conversation ..."

"... it gave the event an afterlife on the Web ..."

"... last week the anti-communist uprising in Moldova was organized on Twitter ..."






As an Amazon Associate I earn from qualifying purchases.

Friends are diamonds in our lives




As an Amazon Associate I earn from qualifying purchases.

Movie: Keith

Occasionally we come across people who show us how to embrace the meaning of life...
we may not be able to spend the rest of the life with them, but they become an unforgettable part of us.




As an Amazon Associate I earn from qualifying purchases.

Setting page width for iPhone

By default iPhone assumes that the page width is industry standard (ie. 980px), even if you display a tiny widget.

To make the page with widget iPhone friendly insert "viewport" meta tag.

The working area on iPhone is 320x360 as the user first see the page. Scrolling down on iPhone is very intuitive so the page can be very tall.





As an Amazon Associate I earn from qualifying purchases.

Setting page width for iPhone

By default, iPhone assumes that the page width is industry standard (ie. 980px), even if you display a tiny widget.

To make the page with widget iPhone friendly insert the "viewport" meta tag.

The working area on iPhone is 320x360 as the user first sees the page. Scrolling down on iPhone is very intuitive so the page can be very tall.

<html><head><meta name="viewport" content="width=320">




As an Amazon Associate I earn from qualifying purchases.

Glass Buddha

I really have to get a replacement for my broken Nikon D50, iPhone is
ok, but I cannot compose my pictures the way I want.


As an Amazon Associate I earn from qualifying purchases.

Ensemble Espanol - Flamenco Passion

This is the best I could do with iPhone, but it was such a great show!
I will write about it tomorrow morning.


As an Amazon Associate I earn from qualifying purchases.

Raible Designs | How to use GWT 2.0 with Maven and Generate SOYC Reports






As an Amazon Associate I earn from qualifying purchases.

Raible Designs | How to use GWT 2.0 with Maven and Generate SOYC Reports






As an Amazon Associate I earn from qualifying purchases.

Setting up Eclipse...again

So Eclipse Galileo doesn't support GWT 1.6.4 fully yet, so I had to use 3.5 (Ganymede).

Download Eclipse Ganymede...
http://www.eclipse.org/downloads/packages/release/ganymede/sr2

...install...

to add plug-ins go to Help...Software Updates...Available Software...Add Sites...

Add some optional plug-ins (we use google, maven, subclipse)

Google -> http://dl.google.com/eclipse/plugin/3.4
Maven -> http://m2eclipse.sonatype.org/update/
Subclipse -> http://subclipse.tigris.org/update_1.6.x

I did have an issue where the installer would say it couldn't find the repositories so it wouldn't install. In that case I deleted my added site and added it again...then it seemed to install.

I also ran the eclipse project update the same way.


As an Amazon Associate I earn from qualifying purchases.

Setting up Eclipse...again

So Eclipse Galileo doesn't support GWT 1.6.4 fully yet, so I had to use 3.5 (Ganymede).

Download Eclipse Ganymede...
http://www.eclipse.org/downloads/packages/release/ganymede/sr2

...install...

to add plug-ins go to Help...Software Updates...Available Software...Add Sites...

Add some optional plug-ins (we use google, maven, subclipse)

Google -> http://dl.google.com/eclipse/plugin/3.4
Maven -> http://m2eclipse.sonatype.org/update/
Subclipse -> http://subclipse.tigris.org/update_1.6.x

I did have an issue where the installer would say it couldn't find the repositories so it wouldn't install. In that case I deleted my added site and added it again...then it seemed to install.

I also ran the eclipse project update the same way.


As an Amazon Associate I earn from qualifying purchases.

My roses #2



As an Amazon Associate I earn from qualifying purchases.

My roses



As an Amazon Associate I earn from qualifying purchases.

Eclipse Galileo 3.5 plugins for GWT development

Please look at the newer post:




1) Upload a new version of Eclipse Java EE IDE for Web Developers 3.5 Galileo (Mac Cocoa)


to add plugins you open: "Help -> Install New Software..."







Restart Eclipse each time you are being asked.
In similar fashion add other plugins...

2) SVN plugin - http://subclipse.tigris.org/update_1.6.x

No problems with installation.

3) Google GWT AppEngine plugin - http://dl.google.com/eclipse/plugin/3.4

Cannot complete the install because one or more required items could not be found.
Software being installed: Google App Engine Java SDK 1.2.1 1.2.1.v200905131143 (com.google.appengine.eclipse.sdkbundle.e34.feature.feature.group 1.2.1.v200905131143)
Missing requirement: Google Plugin for Eclipse 3.4 1.0.1.v200905131143 (com.google.gdt.eclipse.suite.e34.feature.feature.group 1.0.1.v200905131143) requires 'org.eclipse.platform.feature.group [3.4.0,3.5.0)' but it could not be found
Cannot satisfy dependency:
From: Google App Engine Java SDK 1.2.1 1.2.1.v200905131143 (com.google.appengine.eclipse.sdkbundle.e34.feature.feature.group 1.2.1.v200905131143)
To: com.google.gdt.eclipse.suite.e34.feature.feature.group 1.0.1


4) Maven2 plugin - http://m2eclipse.sonatype.org/update/

Cannot complete the install because one or more required items could not be found.
Software being installed: Maven Integration for AJDT (Optional) 0.9.8.200905041414 (org.maven.ide.eclipse.ajdt.feature.feature.group 0.9.8.200905041414)
Missing requirement: Maven Integration for AJDT (Optional) 0.9.8.200905041414 (org.maven.ide.eclipse.ajdt.feature.feature.group 0.9.8.200905041414) requires 'org.eclipse.ajdt.feature.group 1.5.0' but it could not be found







As an Amazon Associate I earn from qualifying purchases.

Eclipse Galileo 3.5 plugins for GWT development

Please look at the newer post:




1) Upload a new version of Eclipse Java EE IDE for Web Developers 3.5 Galileo (Mac Cocoa)


to add plugins you open: "Help -> Install New Software..."







Restart Eclipse each time you are being asked.
In similar fashion add other plugins...

2) SVN plugin - http://subclipse.tigris.org/update_1.6.x

No problems with installation.

3) Google GWT AppEngine plugin - http://dl.google.com/eclipse/plugin/3.4

Cannot complete the install because one or more required items could not be found.
Software being installed: Google App Engine Java SDK 1.2.1 1.2.1.v200905131143 (com.google.appengine.eclipse.sdkbundle.e34.feature.feature.group 1.2.1.v200905131143)
Missing requirement: Google Plugin for Eclipse 3.4 1.0.1.v200905131143 (com.google.gdt.eclipse.suite.e34.feature.feature.group 1.0.1.v200905131143) requires 'org.eclipse.platform.feature.group [3.4.0,3.5.0)' but it could not be found
Cannot satisfy dependency:
From: Google App Engine Java SDK 1.2.1 1.2.1.v200905131143 (com.google.appengine.eclipse.sdkbundle.e34.feature.feature.group 1.2.1.v200905131143)
To: com.google.gdt.eclipse.suite.e34.feature.feature.group 1.0.1


4) Maven2 plugin - http://m2eclipse.sonatype.org/update/

Cannot complete the install because one or more required items could not be found.
Software being installed: Maven Integration for AJDT (Optional) 0.9.8.200905041414 (org.maven.ide.eclipse.ajdt.feature.feature.group 0.9.8.200905041414)
Missing requirement: Maven Integration for AJDT (Optional) 0.9.8.200905041414 (org.maven.ide.eclipse.ajdt.feature.feature.group 0.9.8.200905041414) requires 'org.eclipse.ajdt.feature.group 1.5.0' but it could not be found







As an Amazon Associate I earn from qualifying purchases.

Publish Stories to Facebook with Templates

When using Facebook Connect or any other Facebook app to post stories to users’ walls and news feeds, Facebook provides a way to customize exactly what information will appear and how. This mechanism is called Template Bundles. This article demonstrates how to create a template step by step.  In a second article, I explore one technology for actually posting stories with this template—GWT and the facebook4gwt library.

Sign in to Facebook using your standard credentials. Navigate to http://www.facebook.com/developers/ and click your application on the right.

image

From the application, click “Create Feed Template”.

image

This takes you to a utility for creating templates. Select your application in the dropdown and click “Next”.

image

Stories can be posted to Facebook in one of two forms, "One Line Story” and “Short Story”. Each template can specify both forms. First you will be prompted to specify the “One Line Story” form. Fill in the template as desired. A sample preview is shown on the right side of the page.

image

Click “Next”. Now you are prompted to fill in the “Short Story” form. With both forms we specify tokens within the text that will be replaced with values specified when the story is posted. Tokens use the {*token*} syntax. There are some predefined tokens like {*actor*}, and you can also specify your own using any token text you like. Here I am using my own token {*headline*}.

image

Click “Next”. You can specify an optional link that appears with both template forms. Again, tokens are allowed. I am using another custom token, {*url*}.

image

NOTE: In order for the sample preview to show, Facebook requires that we specify data for all custom tokens in the “Sample Template Data” box. You can see that I added “headline” and “url” here. This does not affect our template at all, just the preview we see on this screen.

image

Click “Next”. A final preview is shown. If you’re happy with your template, click “Register Template Bundle”.

A confirmation popup appears with the ID number of the template. You will use this number to reference this template when making posts. Don’t worry about copying it down if you don’t need it immediately; you can always look it up later.

image

That’s all there is to it. You can now use any of the Facebook APIs to post stories using your template. In another article I explore an example of this with a GWT application, taking advantage of the open source facebook4gwt library.



As an Amazon Associate I earn from qualifying purchases.

Post Scriptum

The views in this article are mine and do not reflect those of my employer.
I am preparing to cancel the subscription to the e-mail newsletter that sends my articles.
Follow me on:
X.com (Twitter)
LinkedIn
Google Scholar

Popular Recent Posts

Most Popular Articles

apt quotation..