Archive

Archive for August, 2009

PingPlotter Freeware free traceroute for internet problem

August 28th, 2009

What do you do again when you have problem with your internet connection? Especially like #streamyxsucks events?

I heard ping and tracert?

I was introduced to a traceroute software recently, the PingPlotter.

The good thing about PingPlotter is, it does not only show you the route of your connection to a certain server, the best of all is, it’s free. 🙂

ping_plotter

There’s a freeware version, and also paid versions with better features of course, the PingPlotter Standard and PingPlotter Pro.

What I like about this software is it shows the time taken between hops and let you identify which hop or IP became the problem to your connection.

What’s lacking though, I believe is showing which country does a hop or IP falls into. If it could show the countries, it would be great to identify the connection to the same country but gets routed elsewhere. (That happens, right?)

If I’m not mistaken, I saw a software screenshot with country listing on the internet, but I couldn’t recall where I’ve seen it before.

Do you know of any traceroute software that can do that? Freeware too?

Internet , , , , , ,

WordPress and Google Howto from Matt Cutts

August 25th, 2009

This piece of Straight from Google: What You Need to Know video was shared by a fellow blogger Archie, a video recording of Matt Cutts from Google Web Spam team who talked about WordPress, Google Search and SEO in WordCamp San Francisco 2009.

What is WordCamp?
WordCamp is a conference that focuses on everything WordPress. WordCamps are informal, community-organized events that are put together by WordPress users.

Something is happening in the online world and people are starting to congregate offline with camps like these, right?


Points worth noting:

1 ) Your objective of blogging (want something from it, fame, ranking)
If you just blog for self interest or just for the sake of blogging, then you do not need SEO or search engine listing at all. If you blog for access, or more people to read, then you need to know a bit or more on SEO.

2 ) WordPress is a good choice, handles 80-90% of SEO
The features of WordPress allows you to just easily configure your blog for easy search engine listing.

3 ) PageRank and what it is, do not be BO (Backlink Obsession)
Bloggers might start obsessed with PageRank and BO –The number and importance of links pointing to you. High PageRank is a good factor for your site ranking, but there are other factors too.

4 ) Relevant and Reputable – love what you write about, quality content
Do not be a copycat, create your own content and search engine will know that its unique.

5 ) Keywords – Adwords tool
Use Google Adwords Keyword tool. Find the most appropriate keyword for your blog post.

6 ) Permalink, h1 tags, keywords in URL and other basic SEO, good joke on experts exchange. Imagine www.expertsexchange.com without the dash, same for your permalink.

7 ) Katamari Philosophy, start small, build up and then get reputable, no shortcuts
It’s all about hardwork.

8 ) Video and podcasts
Attractive looking people can do video, the rest can do podcasts. 🙂

9 ) Google tools like Analytics and Webmasters

10) Avoid paid posts, spam and scam

11) Security tip, wordpress supports whitelisting your fixed IP for specific machine to access wp-admin

I’m following Matt Cutts on twitter and subscribed to his blog. It might just be as useful to you too.

Good To Know, Google, Internet , , ,

Build Java web applications and host on Google App Engine for Free

August 18th, 2009

ae_gwt_java

I came to know about Google App Engine (GAE) in 2008 trying to find a host for my OpenSocial app experiment. It boast of a cloud computing architecture, so that when the traffic to your site grows, your application or site will not go down and with Google’s infrastructure, it can accommodate the high traffic.
You do not need to worry about the sudden extreme high load or load balancing for your application.
It is only half true though, read on to know why. 🙂

It sure sounds cool then, but to me the disappointment was it runs only in Python. That was in 2008.

However, there seems to be a lot of Java developers interested with having a Java version for GAE too. I wonder why?

So came the good news, although I came to know about it like a couple of months late. The Java version for GAE indeed has been made available since April 2009.

Official Google App Engine for Java : http://code.google.com/appengine/docs/java/overview.html

The site has everything you need to know and get started on Google App Engine easily, and like any other useful frameworks, they have sample applications with source code bundled together.

Download the Google App Engine SDK for Java here.

In case you would like to have a summary of GAE Java:

JVM Version
App Engine runs on Java 6 virtual machine (JVM), but supports application built on JDK 5 and later. Uses Java Servlet for applications.

Note that not all Java classes are supported but most of them are. See the JRE Class White List here.

As there are so many Java technologies and frameworks, so by default with Google App Engine Java, it basically supports a huge list of libraries and frameworks including GWT (of course), Grails, JSF, MyFaces, Spring MVC, Struts, Tapestry, Tiles and some say OSGI.
For the full list, go here.

Datastore
App Engine supports 2 standard Java interfaces: Java Data Objects (JDO) 2.3 and Java Persistence API (JPA) 1.0.

These interfaces are implemented using DataNucleus Access Platform, the open source implementation of these standards.

Access to database is via JDOQL using POJO (Plain Old Java Objects).

Other Services
Caching: http://code.google.com/appengine/docs/java/memcache/
URL Fetch : http://code.google.com/appengine/docs/java/urlfetch/
Java Mail : http://code.google.com/appengine/docs/java/mail/ (limitation of sending using Google account of the app administrator only)
Also supports application authentication using Google Accounts.
Cron Jobs : http://code.google.com/appengine/docs/java/config/cron.html

The download for GAE Java includes a development server for your computer and you can run and test your application (war file) locally before uploading it to Google server.

The uploading can also be done with its AppCfg command tool.
Do note though, you need to create your application in App Engine Administration Console first, at : https://appengine.google.com/.

Limitation of GAE Java
Knowing the features of GAE Java, you should also probably know a bit of its limitation.

1 The Java datastore interface does not support the != and IN filter operators that are implemented in the Python datastore interface. (In the Python interface, these operators are implemented in the client-side libraries as multiple datastore queries; they are not features of the datastore itself.)
2 Due to the way the App Engine datastore executes queries, a single query cannot use inequality filters (< <= >= >) on more than one property.

Quotas
While you are still excited about the free hosting and the ability to withstand sudden high load for your application, (I’m not sure about DDOS though), there is a quota for the free bandwidth and resources on your Google App Engine Java application.

“App Engine will always remain free to get started. We believe these new levels will continue to serve a reasonably efficient application around 5 million page views per month, completely free.”

So instead of sourcing for web hosting, you get a free hosting for your Java application, which is a good deal considering it’s not easy to find one and to compare them with Google’s infra?
When the need arises and your application is so popular that it gets 5 million page views per month, I guess then it is time you decide to pay for the additional resources, or port your application with funding or sell it to somebody else (or Google?).

CPU Time (billable)

Resource Free Default Quota Billing Enabled Quota
Daily Limit Maximum Rate Daily Limit Maximum Rate
Requests 1,300,000 requests 7,400 requests/minute 43,000,000 requests 30,000 requests/minute
Outgoing Bandwidth (billable, includes HTTPS) 1 gigabyte 56 megabytes/minute 1 gigabyte free; 1,046 gigabytes maximum 740 megabytes/minute
Incoming Bandwidth (billable, includes HTTPS) 1 gigabyte 56 megabytes/minute 1 gigabyte free; 1,046 gigabytes maximum 740 megabytes/minute
CPU Time (billable) 6.5 CPU-hours 15 CPU-minutes/minute 6.5 CPU-hours free; 1,729 CPU-hours maximum 72 CPU-minutes/minute

Datastore

Resource Free Default Quota Billing Enabled Quota
Daily Limit Maximum Rate Daily Limit Maximum Rate
Datastore API Calls 10,000,000 calls 57,000 calls/minute 140,000,000 calls 129,000 calls/minute
Stored Data (billable) 1 gigabyte None 1 gigabytes free; no maximum None
Data Sent to API 12 gigabytes 68 megabytes/minute 72 gigabytes 153 megabytes/minute
Data Received from API 115 gigabytes 659 megabytes/minute 695 gigabytes 1,484 megabytes/minute
Datastore CPU Time 60 CPU-hours 20 CPU-minutes/minute 1,200 CPU-hours 50 CPU-minutes/minute

Mail

Resource Free Default Quota Billing Enabled Quota
Daily Limit Maximum Rate Daily Limit Maximum Rate
Mail API Calls 7,000 calls 32 calls/minute 1,700,000 calls 4,900 calls/minute
Recipients Emailed (billable) 2,000 recipients 8 recipients/minute 2,000 recipients free; 7,400,000 recipients maximum 5,100 recipients/minute
Admins Emailed 5,000 mails 24 mails/minute 3,000,000 mails 9,700 mails/minute
Message Body Data Sent 60 megabytes 340 kilobytes/minute 29 gigabytes 84 megabytes/minute
Attachments Sent 2,000 attachments 8 attachments/minute 2,900,000 attachments 8,100 attachments/minute
Attachment Data Sent 100 megabytes 560 kilobytes/minute 100 gigabytes 300 megabytes/minute

URL Fetch

Resource Free Default Quota Billing Enabled Quota
Daily Limit Maximum Rate Daily Limit Maximum Rate
UrlFetch API Calls 657,000 calls 3,000 calls/minute 46,000,000 calls 32,000 calls/minute
UrlFetch Data Sent 4 gigabytes 22 megabytes/minute 1,046 gigabytes 740 megabytes/minute
UrlFetch Data Received 4 gigabytes 22 megabytes/minute 1,046 gigabytes 740 megabytes/minute

Image Manipulation

Resource Free Default Quota Billing Enabled Quota
Daily Limit Maximum Rate Daily Limit Maximum Rate
Image Manipulation API Calls 864,000 calls 4,800 calls/minute 45,000,000 calls 31,000 calls/minute
Data Sent to API 1 gigabytes 5 megabytes/minute 560 gigabytes 400 megabytes/minute
Data Received from API 5 gigabytes 28 megabytes/minute 427 gigabytes 300 megabytes/minute
Transformations executed 2,500,000 transforms 14,000 transforms/minute 47,000,000 transforms 32,000 transforms/minute

Memcache

Resource Free Default Quota Billing Enabled Quota
Daily Limit Maximum Rate Daily Limit Maximum Rate
Memcache API Calls 8,600,000 48,000 calls/minute 96,000,000 108,000 calls/minute
Data Sent to API 10 gigabytes 56 megabytes/minute 60 gigabytes 128 megabytes/minute
Data Received from API 50 gigabytes 284 megabytes/minute 315 gigabytes 640 megabytes/minute

Full Quota listing viewable here.

Resources
Google App Engine : http://code.google.com/appengine/
Google Plugin for Eclipse : http://code.google.com/eclipse/
Eclipse Quick Start Guide : http://code.google.com/eclipse/docs/getting_started.html
Google App Engine FAQs : http://code.google.com/appengine/kb/
Google App Engine SDK Code : http://code.google.com/p/googleappengine/
Sample Apps Code : http://code.google.com/p/google-app-engine-samples/

Sample application and photos:
gae_gwt_sticky

gae_java1

gae_java2

gae_java3

gae_java4

gae_java6

gae_java7

mandelbrot

Google, Internet, Java, Software, Technology , , , ,