Sunday, July 20, 2014

My experience buying Twitter followers


On 07/20/2014 at 2:47 EDT, I purchased 2000+ followers from a service provider  on fiverr.com.  Fiverr.com provides many services and products for just five dollars. At the time of my order there were 7 orders in the queue (I became the eighth), so I expected to wait for fulfillment.



My expectation was to receive 2000+ new followers within the next 24 hours.  With delight, the results came faster, much much faster.

New Followers Fulfillment


Just before 3:00 p.m., I started with around 600 followers (see image below). At exactly 2:57, I received my receipt for my puchase of new followers.

587 users, before purchase

By 4:30 p.m., I had 3,153 followers (see image below).

3,153 users, after service was completed


So, I expected ~2,000 new followers as I purchased, but actually got over 2,500 new followers in just under 1 1/2 hours.  Wahoo!  Thank you Fiverr!

Ability to 'Follow over 2000 users' Enabled


Also, with this increase number in followers, I was able to exceed the 2,000 follower mark which now enabled me to  follow over 2,000 users.  So, right away, I was able to add another 1,000 users to follow.  Note that I selectively chose verified users to follow as I knew these are 'real' people and I would have a higher probability of them following me back.  Also, with verified users, many fans will chose to follow who they elect to follow or who are following them.... this would also increase my likelihood of getting additional followers.
 
Verified Twitters

 Note that verified twitterers have a white check in a light blue circle next to their name.

Verified Badge

Now I've read in other blogs that Twitter will eventually detect these 'fake' followers and peel them off, terminating their accounts... but in the interim, I will be able to follow more of the users I would like to and also increase my clout (and klout) at the same time.

The Final Win

 So where is the win in this awkward ruse?  Well, my phone keeps buzzing with indications of new users, that's a win!  But on the other hand... the following count is already going down!?!  It has dropped from over 3,150 to 3,139 in the short time it took me to write this blog post.   Well, just keep an eye on the 3,150 benchmark... if it's over... it's working, if it's under, not so much.
 
       

As always, I hope you have found this blog post most useful,

-- Robert

Gibson Electric Guitar on Display at the Smithsonian

The Smithsonian Institution building (the castle) is located in Washington D.C.  This complex hosts the Smithsonian Information Center, the Institution’s administrative headquarters and some small nice exhibits including the souvenir museum.

Smithsonian Institution Building

  Gibson Electric Guitar on display!


 The Gibson Les Paul is a solid body electric guitar that was initially sold in 1952.  To my surprise and delight one of these guitars was on display at the Smithsonian's souvenir museum.  At first I though it was a 1952 model, but the placard says it's a 1984.

Gibson Electric Guitar


Signature Models and popularity

Not only has the Gibson Les Paul been regularly adopted and used, many signature models have been established (as also noted by Wikipedia).
  • Jimmy Page, Slash, Joe Perry, Jeff Beck, Gary Moore, John Sykes,Peter Framption, Michael Bloomfield, Pete Townshend, Ace Frehley, Billy Gibbons, Buckethead, Sammy Hagar, Neal Schon, Eric Clapton, Steve Jones, Marc Bolan, Lou Pallo, Matt Heafy, Paul Landers, Paul Kossoff, Chard Kroeger

Volume and Tone

The volume and tone controls are key elements to the Gibson Les Paul, as demonstrated here by Joe Bonamassa.


Another look

Here is another look at the Gibson Les Paul in the Smithsonian.  Considering a trip to D.C. to see it for yourself is worthwhile.  I would personally be interested in learning more information about this specific guitar on display if it was available. :)



In Action

 Here's Eric Clapton playing "I'm Tore Down" on a Gibson Les Paul.

 

 

Update: I was just told that Phil Lesh's "Eye of Horus" Bass guitar is also on display in the Smithsonian's National Museum of American History.  I wonder what other guitars are also in the Smithsonian.

As always, I hope you have enjoyed this blog entry.
--Robert

Note: For a much more comprehensive exhibit on Les Paul's guitars,  the Waukesha County Museum now has it's own Les Paul Exhibit


Thursday, July 17, 2014

How to perform geocoding with Java?

Geocoding is the process of finding coordinates by using other geographic information.



 The Java API for Google geocoder v3 supports geocoding.  And with this API you can do some cool things.  For example, the following is an image from http://gliesians.com which geocodes the Reuters World News RSS Feed and thereafter automates the creation of news markers onto a Google Map (GMAP). 

Gliesians Map using GeoCoding behind the scenes

One may use the Google Geocoder-Java API to perform Geocoding in three easy steps.

  • Step 1: Add the GeoCoder API dependency to Maven
  • Step 2: Include a method to perform the GeoCoding using the API
  • Step 3: Pass a location to the method and enjoy your geocoded result


Add the GeoCoder API dependency to Maven

Add the following dependency to your pom.xml file of your Maven project.

<dependency>
  <groupId>com.google.code.geocoder-java</groupId>
  <artifactId>geocoder-java</artifactId>
  <version>0.16</version>

</dependency>

Write a method to perform the GeoCoding using the Google Geocoder v3 API


The following code sample is of my own modification of this code by Joe Pasqua  under the MIT license.  This code will receive a location (e.g., Italy) and will return the latitude and longitude in an array.


public static Float[] performGeoCoding(String location) {
  if (location == null) 
     return null;
      
  Geocoder geocoder = new Geocoder();
  GeocoderRequest geocoderRequest
     = new GeocoderRequestBuilder()
       .setAddress(location) // location
       .setLanguage("en") // language
       .getGeocoderRequest();
  GeocodeResponse geocoderResponse;

  try {
    geocoderResponse = geocoder.geocode(geocoderRequest);
    if (geocoderResponse.getStatus() == GeocoderStatus.OK
      & !geocoderResponse.getResults().isEmpty()) {
      GeocoderResult geocoderResult = 

        geocoderResponse.getResults().iterator().next();
      LatLng latitudeLongitude =
        geocoderResult.getGeometry().getLocation();
      Float[] coords = new Float[2];
      coords[0] = latitudeLongitude.getLat().floatValue();
      coords[1] = latitudeLongitude.getLng().floatValue();
      return coords;
    }
  } catch (IOException ex) {
    ex.printStackTrace();
  }
  return null;
}


Pass a location to the method and enjoy your geocoded result

The following code exercises the method, performing geocoding and printing the results.

public static void main(String[] args) {
  String location = "Troia, Foggia, Italy";
  Float[] coords = performGeoCoding(location);
  System.out.println(location + ": " 

      + coords[0] + ", " + coords[1]);
}

$ Troia, Foggia, Italy: 41.35978, 15.308114

Note: Imports


Here are the imports for anyone not using an IDE. 

import com.google.code.geocoder.Geocoder;
import com.google.code.geocoder.GeocoderRequestBuilder;
import com.google.code.geocoder.model.GeocodeResponse;
import com.google.code.geocoder.model.GeocoderRequest;
import com.google.code.geocoder.model.GeocoderResult;
import com.google.code.geocoder.model.GeocoderStatus;
import com.google.code.geocoder.model.LatLng;
import java.io.IOException;


...or for example, just use Ctrl-Alt-I in NetBeans to auto-complete your imports.


As always, I hope many have found this blog post interesting and useful.
 
 -- Robert

Tuesday, July 8, 2014

Building the PrimeFaces Mobile Translation Demo with NetBeans

PrimeFaces Mobile is a great resources for developing mobile applications, and with it's availability it's provided with several examples to learn from.
One of these examples demonstrates translations.  

Working example (click on it):
When I first sought to run this example, I ran into some issues as I did not have a Yandex API key nor did I know that I needed one.  As such, I have put this short tutorial together to demonstrate how to successful run the example application.  The following steps will need to be followed.
  •  Create a NetBeans Project
  •  Update the project's pom.xml file
  •  Add glassfish-web.xml to the WEB-INF folder
  •  Add web.xml files to the WEB-INF folder
  •  Add Primefaces translate.xhtml and translate.java files to the project 
  •  Get a Yandex API Key and Reference it
  •  Run the Application

Create a NetBeans Project (TranslationDemo)

The first step is to use the NetBeans wizard to create a skeleton Maven Web Application

Step 1- Select the type of project


Set the Name and Location of the project.

Step 2 - Set the Name and Location

Apply the Server and Java EE setings to the project.

Step 3 - Apply the Server and Java EE settings


Update the pom.xml file

Update thhe Project Object Model (pom.xml) file to include PrimeFaces 5.0 and the folder for the Yandex properties file we'll be adding later.

<dependencies>
...
<dependency>
  <groupId>org.primefaces</groupId>
  <artifactId>primefaces</artifactId>
  <version>5.0</version>
</dependency>

...
</dependencies>
...
<build>
...
  <resources>
    <resource>
      <directory>src/main/resources</directory>
      <filtering>true</filtering>
    </resource>
  </resources>

...
</build>

Add glassfish-web.xml to the WEB-INF folder


Update the deployment descriptor file for the base URL context path.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
  <context-root>/</context-root>
  <class-loader delegate="true"/>
  <jsp-config>
    <property name="keepgenerated" value="true">
      <description>Keep a copy of the generated servlet class' java code.</description>
    </property>
  </jsp-config>
</glassfish-web-app>


Add web.xml files to the WEB-INF folder

Update the web.xml file for startup configuration.

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.xhtml</param-value>
    </context-param>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>translate.faces</welcome-file>
   </welcome-file-list>
</web-app>


Add Primefaces translate.xhtml and translate.java files to the project


Add the Primefaces translation example  source code to the project.  The translate.xhtml file will go in the Web Pages folder and the TranslateView.java file will go in the org.primefaces.examples.mobile package.


TranslationDemo Project

Note that there is a missing "=" character in the source file.

Change

  String url = translateURL + "&lang" + from + "-" + to + "&text=" + text;

to

  String url = translateURL + "&lang=" + from + "-" + to + "&text=" + text;


Also, for fun, add a new language to the application such as Russian:

   languages.put("Russian", "ru");

Get a Yandex API Key and Reference it

The Translation engine is done through remote calls to Yandex. So  you'll need to get an API key and include it with the URL in a properties file.




Once you read the licensing and get the key, you'll need to place it in a translate.properties file in the src/main/resources folder as I've also indicated in the image up above.

The content of translate.properties should look like this:

translate.url = https://translate.yandex.net/api/v1.5/tr.json/translate?key=[your_key]

Run the application

 That's it!  You have everything needed now to run the application.  Give it a go!

 

 

 

 Bonus:

 No voice here, but here is a quick look of where the files should be located and their content:


 

As always, I hope you enjoyed this blog.

-- Robert



Note: Check out a implemented version of the example on your smart phone here: http://gliesians.com/mobile-navigator.faces.


Saturday, July 5, 2014

The Striper's Soul


The Striper's Soul
by Robert James Liguori

On that cold, damp beach,
I came to claim my fame;
A hero of the inlet,
A master of the game.

It was late November,
The moon was shining full.
My hook was fresh with clam,
Set to bring my jewel.


So with a lofty cast,
I watched my bait take air.
Then down into the water,
It fell into his lair.


Patiently, I did wait,
With my finger on the line.
Waiting for the stripers touch,
Hoping he would dine.

The night was very peaceful;
A couple shooting stars.
I
closed my eyes and wondered,
Were stripers near or far.


And then there was a tug,
And then silence on my line.
I knew that he'd be back,
I knew that he'd be mine.
 

I took a quiet moment,
To think about his soul.
Are stripers much like us?
This I feel I know.


My rod just bent in half!
My heart is pounding fast!
My line is spooling out,
What a sudden blast!


He's on, I set my hook!
And then I set again!
I give him time to run,
My rod just bends and bends!

A light rain starts to form,
And sweat roles off my face.
There's no place I'd rather be,
T
han in this misty place.


I feel that I just hooked him,
Yet time has spilled away.
I've been battling this nice fish,
For hours of the day.


I spin the reel a few more times,
And now can see his tail.
He hurls out of the water,
Within the northeast gale.


I bring him into shore,
A
nd land him on the beach.
There's nothing more to question,
This fish is five long feet.


Between fisherman and fish,
The two of us did play.
I'll send him back to sea,
Until another day.


These stripers have a gaming blood,
It's nice to understand,
That they enjoy the fight so much,
They'll do it all again.

Friday, July 4, 2014

Miki Sudo, who is she?

Today, Miki Sudo beat the Black Widow at the annual Nathan's hotdog eating contest.  Wow! So it's only appropriate for those who do not know her to find out who this person really is!  Actually, before today, I never heard of her before, and I even followed competitive eating for a bit (but that was a few years back).

So from a little googling, this is what I've found...

Miki Sudo is Well Liked!

 Checking out her Twitter account.. Miki's getting a lot of congrats, so she appears to be well liked.

Miki Sudo is Courageous!

Checking out Miki on YouTube, she is definitely courageous! Here she is eating more food in one hour than some people eat in a week.


Miki Sudo is Photographic!

Onwards to her Instagram photos, Miki is surely photographic with a smile on her face wherever she goes.

A photo of Miki Sudo from her Instagram

Miki Sudo is Funny!

You can't hide from the truth on  Facebook.  Miki Sudo loves to have fun. Scroll through her Facebook Photo Album and you'll see that she is enjoying life to the fullest in the funnest of ways.

A photo of Miki Sudo from her Facebook Photo Album

Miki Sudo is Well Traveled!

As you can see from the Gliesians map, Miki Sudo is not stuck in one place... she's traveling the globe and winning lots of eating contests while she's at it.



In summary, Miki is lots of fun and can eat, really eat.  As such, I think that America is going to embrace her as their competitive eating personality 'hero' for many years to come.

-- Robert

Bonus: These stunts are amazing (but don't try them at home!)...


Thursday, July 3, 2014

Music Festivals and their mapped locations for 2014

The following maps links into music festivals across the globe, if you notice any missing, please add to the comments section below and we'll add them in.

West View



This map was made using the features of Gliesians.com which are freely available for everyone to use.

Just paste this into your website or blog:

<iframe height="400" src="http://gliesians.com/shared-map.faces?latitude=40&amp;longitude=-100&amp;zoom=3&amp;startdate=01.01.2014&amp;enddate=12.30.2014&amp;hashtag=festival&amp;username=gliesian" width="100%"></iframe>

East View




Here is the IFrame for the east view.... you can change the values if you wish to adjust the map:


<iframe height="400" src="http://gliesians.com/shared-map.faces?latitude=60&amp;longitude=20&amp;zoom=3&amp;startdate=01.01.2014&amp;enddate=12.30.2014&amp;hashtag=festival&amp;username=gliesian" width="100%"></iframe>

Note: I apologize for the advertisements, but Google charges for map views after a certain amount of hits, so I much do this or it would cost me money to provide these maps.

Festival Event Assistance


Note that all coordinates are quick estimates in the sake of time... if you have any coordinates refinements please add a comment below and I will adjust the glarkers.  Also note that I have reached out to the Acoustic Guitar Forum and the Ultimate-Guitar Forum for help.  In addition to all of the festival recommendations that individuals have suggested to add, I was particularly delighted by 'deadsmileyface's UG post response:



-- Robert





Note: Another great resource to find out about all kinds of festivals is FestivalTrek. And for the UK there is the FestivalCalendar.  And then there is FestivalInsights.  One more... bluegrass in the UK.