Ciaos Creations

Social Media Club Awareness Chair Candidate

Posted in Life, People by Steven on February 9, 2010

The month of May will mark the date that I have been in Kansas City for four years. The last three of those years, I have been actively raise awareness of creative tech professionals in the city of Kansas City through annual events. Since DotNext in 2007, I work with my fellow colleagues and friends to organize events such as Startup Weekend, BarCamp and StartupKC Drinks.

For all the events that I have thrown, I still feel there are many individuals outside of our social networks who would be interested in Social Media Club and all the other interest groups Kansas City has to offer. Events are one of the best ways to raise awareness, but the single most helpful thing We call can do is talk about to others.

If you have an event that you want to see happen, lets talk about it. I’m always reachable by email, Twitter and phone. I’m sure we can make it happen. Planning events and spreading the word is what I love to do.

For those who are not aware of what Kansas City has to offer, I encourage you to join in and voice your thoughts and desires.  Kansas City is home to many groups, from hackers actively building hardware in the CCCKC caves, to entrepreneurs hashing their ideas during Startup Weekend, or artists speaking about their latest projects in 6 minutes at Pecha Kucha.  If you have an interest, there is another person in Kansas City who is interested in the same.

If you are a member of the Social Media Club of Kansas City, please vote for me.
http://socialmediaclubkc.ning.com/profiles/blogs/voting-is-now-open-for-the

“Moving to MCI from SFO”

Posted in People by Steven on January 7, 2010

My face lit up when the Coffee Girls stranger explained that himself and his wife moved from San Francisco to Kansas City a little under a month ago. Stories of West Coast transplants are special due to the fact they are moving in the opposite direction from where I want to go someday. The common reason for the migration to the heartland that is to be closer to family for the support when its time to start a family of their own.

West Coast cities such as San Francisco, Seattle and Portland are cities of startups, places where startups become known. They are the Hollywood, the Bollywood of technology startups. Kansas City is a city unknown for their technology nor engineering. Sure companies with an emphasis in tech, such as Cerner and Garmin, or engineering, such as Black & Veatch and Burns & McDonnell, are based in Kansas City, you just don’t see much outside of work collaboration. There are very intelligent individuals in Kansas City, but where are they?

At the heart of it, Kansas City is attracting talent and probably investors since they too probably have families in the area. A different catalysis is needed to bring startup techies together.

Tagged with: , , ,

Thoughts on Mobile Payment

Posted in Uncategorized by Steven on November 24, 2009

During the past few months, both Amazon and Paypal has announced mobile payment systems on their respective platforms. Listening to reports on mobile payment usage in India, Africa and Japan has me wondering if or when the United States will ever adopt the behavior.

Yesterday I read Caleb Elston’s post on mobile payments titled “Are Mobile Payments the Next Big Thing?“; it was very good read. The payment process he described was a process that I believe is simpler than I thought was possible. Before, my assumption was mobile payment would be possible through a mobile web app or a native mobile app.

There were other thoughts going through my head besides implementation, such as what are the use-cases mobile payments would be preferred over the traditional payment methods, e.g. cash and credit.  Mobile Payment Adoption will be a challenge due to the habits and existing infrastructure for cash and credit.  So lets just jump around to a few examples.

Digital Goods, Online Shopping
When buying digital goods or shopping online, mobile payments work well in this type of scenario mainly because the check-out process is asynchronous between the buyer and seller, which the seller is an automated machine.  The maximum number of simultaneous check-outs is almost infinite for these shopping experiences, mainly limited by broadband and server resources.  This example could be consider as a natural progression of commerce from a desktop device to a mobile device.

Simple Singular Transaction
This tangent is sprouted from how Japan and some privileged American Cities purchase their train tickets.  Purchasing train tickets scenario is a simple process of fee that rarely change. Mobile Payment could be automated in that it is just a quick swipe of the mobile device or gateway  that initiates the transaction.  This example is rather simple and somewhat uninteresting. It is a substitution of the payment medium.

Physical Stores or Merchants
All of us are familiar with the process of making purchases in the physical space.  Walking from aisle to aisle, acquiring physical goods, to check-out by standing in a queue to a limit number of cashiers.  This example is synchronous, both the buyer and seller have to interact in real-time, both of which are human.  This is the scenario in which I am interested to see how mobile payment has an affect.  I find it to be my largest pain point and an experience that could be improved on. Changing the habit of purchasing physical goods is and will be a very difficult task.

So those are the first three use-cases that are floating in my head. I intend on promoting mobile payments, but I am just having trouble finding a good scenario that mobile payments can improve upon.

That is it for now.

jRuby Radiant CMS installation on Tomcat Server

Posted in Projects by Steven on July 12, 2009

For the past month, all the Radiant-jRuby installation instructions that I have found did not perform as advised. From what I have determined, the root of the issue was Radiant-jRuby was unable to create cache files.  Thus disabling cache allowed Radiant to function properly with jRuby.

To disable caching, comment the config.middle.use argument in environment.rb file.

# config.middleware.use ::Radiant::Cache

If caching is incredibly important, the Rack::Cache module seems to function without any errors, however I haven’t figure out where the cache files are saved.  To enable caching with Rack just update the config.middleware.use argument in environment.rb file.

config.middleware.use ::Rack::Cache

Here below are the instructions I used to enable Radiant on jRuby and Tomcat based on the Radiant CMS instructions at http://kenai.com/projects/jruby/pages/Radiant_CMS

Obtaining Gems

The command below is under the assumption all the required jdbc mysql adapters have been installed. If not please include activerecord-jdbcmysql-adapter gem.

jruby -S gem install –no-ri –no-rdoc radiant radius rack-cache warbler

Create Project and Configuration

Lets create a Radiant mysql application in a directory.

jruby -S radiant –database=mysql radiantblog

Before the application data is created, the database.yml needs to be configured. Simply update the adapter to “jdbcmysql” instead of “mysql”. Here is what the production configuration would look like.

production:
adapter: jdbcmysql
database: radiant
username: username
password: password
host: localhost

With the database.yml configured, the database can now be bootstrapped.

jruby -S rake production db:bootstrap

Lets run the server to test the app and check it at localhost:3000

jruby -S script/server -e production

Deployment

The only deployment that I utilize is with Tomcat using the warbler gem.  Here is the minimum configurations I used starting off with the command to generate the warbler configuration file

jruby -S warble config

warble.rb configuration:

Warbler::Config.new do |config|
config.dirs = %w(cache config db log public script vendor tmp)
config.gems += ["activerecord-jdbcmysql-adapter", "radiant",
"jruby-openssl", "radius", "rack-cache"]
config.gem_dependencies = true
config.war_name = “ROOT”
end

The reason why the config.war_name is ROOT is to avoid any potential Radiant Routing issues. Next build the war file with the following command.

jruby -S warble war

After running the above command, move the newly created file, ROOT.war, to the Tomcat web directory. The URL, localhost:8080, should now render your newly created Radiant blog.

Selenium Setup / Teardown support

Posted in Uncategorized by Steven on December 16, 2008

@plightbo

The Setup / TearDown instructions found at http://seleniumhq.org/projects/core/usage.html explains a work around to the issue, however the work around is not the technique I expected.  I am personally most familiar with setup/teardown methods that executes before and after each test case.

Just to throw it out there, a function call that opens a given link page, then executes selenium commands found there, which then after completion would return to the original page would probably be what I would be expecting.  

The workflow behind the Test Suite would probably has a function that I am searching for.  It is similar in that the flow of control starts by opening a test case, executes the commands, then returns to open another test case if available.

Here is a quick crude example in pseudocode of what I am imagining.

File: login_user.html
Login User

  •  open(“/home”);
  • type(“usernameField”, “apple”);
  • type(“passwordField”, “password”);
  • click(“submitButton”, true);
  • assertLocation(“/dashboard”);
     

File: logout_user.html
Logout User

  • click(“Logout”, true);
  • assertLocation(“/home”);
     

File: test_invite_friends.html
Test Invite Friends

  • execute(“login_user.html”);
  • click(“create event”, true);
  • verifyText(“Invite Friends”, true);
  • execute(“logout_user.html”); 
     

Ideally, I would like to declare the Setup/Teardown functions in the Test Suite page instead at the beginning and end of each unit test.  However I noticed that the Test Suite is only single column table;  I am unsure how difficult it would be get Selenium to support multiple columns. 

Here is an example of a test suite file in HTML.

<html>
<head>
<title>My Application Test Suite</title>
</head>
<body>

<table>
<tr><td><b>Suite Of Tests</b></td></tr>
<tr><td>Setup</td><td><a href=“./setup.html”>Test Login</a></td></tr>
<tr><td>Teardown</td><td><a href=“./teardown.html”>Test Login</a></td></tr>
<tr><td><a href=“./TestLogin.html”>Test Login</a></td></tr>

<tr><td><a href=“./TestFormEntry.html”>Test Form Entry</a></td></tr>
<tr><td><a href=“./TestFormSave.html”>Test Form Save</a></td></tr>
</table>

</body>
</html>

Please let me know if I need to provide more details or a better written explaination.
- Thanks

@whereisciao