Archive | Articles RSS for this section

Accomplished SaaS course from UC Berkeley

Earlier this whole March, I joined an online free course from University California, Berkeley. The topic is Software as a Service, an interesting issue that just become popular lately. The program is hosted in https://www.coursera.org/ , as a part of joint experiment by three top Universities of USA, Stanford University; University of Michigan; and UC Berkeley.

For SaaS course itself, I think they prepared it quite good that it covers enough part of the issue in just 5 weeks. Thanks to Armando Fox and David Patterson, two professors of UCB, as with their efforts, this great online course is possible. The program itself is delivered in Video and .ppt presentation materials that covers precisely five chapters; from introduction to Software as a Service to some kinds of agile development methods, which are Behaviour Driven Development and Test Driven Development.

Throughout the course, the two professors oblige students to use Ruby (and Rails) as a language for assignment projects. Two choices are whether we want to work in a pre-built Virtual Machine or from the Amazon Web Service (they partnered with AWS to give away $10 voucher for students who passed first assignment). It also encourages students to use heroku, a popular online Platform as a Service (PaaS), that also supports Ruby on Rails for deployment.

There are four assignments and three quizzes that will determine students’ final score. For the first assignment, it’s designed to make the students get familiar with Ruby. To be frank, this Ruby thing is new to me, and it took one full weekend for me to get used with the language (it’s more flexible than Python, good but a little bit confusing). Second assignment asked students to improve a “Rotten Tomatoes”-like website with added functionalities (this one is called Rotten Potatoes 😉 ), and deploy it to the heroku. Btw, here’s my attainments for the project http://narutocuk.herokuapp.com/movies. Last but not least, the third and last assignments tested us the knowledge of Behaviour Driven Development and Test Driven Development by using handy frameworks called cucumber and RSpec. So, in this context, during a software development, the developers (or teams) are encouraged to develop set of tests first before actually developing the functionalities. Also, cucumber is a great tool where we can define set of tests in plain English text:

Scenario: restrict to movies with 'PG' or 'R' ratings
 Given I check the following ratings: PG, R
 And I uncheck the following ratings: G, PG-13, NC-17
 When I press "Refresh"
 Then I should see the following ratings: PG, R
 And I should not see the following ratings: G, PG-13, NC-17

This cucumber tool depends greatly on extensive Regular Expression string parsings. It helps to minimize technical gap between development team and the clients. And as for the score, I did a quite good job on the assignments (deducted points on last assignment as I submitted it late, and perfect score on others), but unfortunately not on the quizzes. I didn’t realize that it was a one-time attempt test, that when I did it and had an errand, I left many numbers unanswered and it gave me a bad score.

Anyway I finished the course until the end, and roughly two weeks after the last quiz, a mail came to my gmail with a Statement of Accomplishment in pdf format. I think it’s fair enough for me, and I got a new knowledge too 🙂

Here’s how the Certificate looks like: SaaS Class Statement of Accomplishment

Advertisements

Publishing Open Source Project: Android Coming Holidays

git remote add origin git@github.com:antonrifco/Coming-Holidays.git

After finalizing fix and minor enhancement, now Coming Holidays Android App is Version 1.0. Good news, it’s also an Open Source Project now. It is hosted on https://github.com/antonrifco/Coming-Holidays
or, directly from github console: git@github.com:antonrifco/Coming-Holidays.git

Actually the application itself is quite simple. I made it only one week on after office hours. Even so, I hope by publishing it as Open Source, I can share the experience of developing Android Application with other Android die Hard fans.

Description about Coming Holidays v1.0 ( https://market.android.com/details?id=net.antonrifco.comingholidays ):

Waiting for Holidays?!? Install Coming Holidays App to track upcoming Holidays!
Coming Holidays helps users to track nearest Holidays (Public and Private one). A nice-looking countdown should inform users how near they are from a free fooling around day. Finally, an annoying daily alert at stress-peak time (2p.m) will persistently remind People that life is not Yet over. There’s still Upcoming Holidays..

About Coming Holidays Version 1.0:
-. Fix “Alert get up on random time”
-. Fix “Nearest holiday should always days after today 00:00”
-. Fix Incomplete Deleting leave problem
-. Project hosted as Open Source on https://github.com/antonrifco/Coming-Holidays yeayy!

Announcement Coming Holidays Android App Release Candidate-1

Image

Waiting for Holidays?!? Install Coming Holidays App to track upcoming Holidays!
Coming Holidays helps users to track nearest Holidays (Public and Private one). A nice-looking countdown should inform users how near they are from a free fooling-around day. Finally, an annoying daily alert at stress-peak time (2p.m) will persistently remind People that life is not Yet over. There’s still Upcoming Holidays..

What’s in this version:

Version 0.9:

  • Keep track Holidays from following countries: China, Germany, France, Hongkong, Indonesia, India, Japan, South Korea, Singapore, UK, US
  • Automatically detect location (country) based on MCC of GSM (No GPS required)
  • Track upcoming Holidays and give Countdown
  • Able to add Personal Leaves to the list of Holidays
  • Give alert for Holidays until the next 3 days. Alert Notification will start at 2p.m local time.
  • Fun!

Download at: Android Market

le Me: Berburu Roshan

Here’s a photo of le Me, imagining as a Warcraft DotA hero, Jah’rakal just before fighting with the Roshan. I used to play DotA a lot during my college time and early work life as a freshy. I realized that this had taken much of my time, so I decided to quit. So, here’s a post to memorize those fun time with friends!

“Jah’rakal: Hunting Roshan”

The Troll Warlord is a pure fighter, able to attack from a distance or up close, where he becomes stronger overall and may also bash. He capitalizes on attack speed, being able to strike and move quickly, as well as enhance his allies to sometimes do the same. Jah’rakal can also Blind his opponents, making it difficult for them to land attacks. Additionally, successive attacks landed on a target enable greater focus for Jah’rakal, greatly increasing his attack speed. If he is able to acquire items and momentum soon enough, there aren’t many fighters who can best him.

nb: the picture of  le me is taken in Henderson Wave, Singapore.

Analisa terhadap bug “Could not fetch content, sorry” dari Twitter SMS Telkomsel, Axis, dan Esia

Belakangan, beberapa teman yang saya follow pada jaringan sosial Twitter memposting kalimat yang unik dan serupa pada timeline mereka, yakni “Could not fetch content, sorry”

Beberapa hal seragam pada “pelaku” postingan tersebut ialah:
1. Posting dikirim via txt, sebuah aplikasi twitter SMS kerja sama antara twitter.com, third party Content Provider, dan Operator telekomunikasi.
2. Kebanyakan dari mereka merasa pernah terdaftar pada layanan di atas. Entah melalui pendaftaran REG sms, maupun paket bundling nomor prepaid.
3. Dari yang saya tahu, teman-teman yang mengalami masalah ini, mendaftar pada layanan twitter SMS dari Telkomsel, Axis, dan Esia (atau ada yang lain?)

Berikut adalah analisa blackbox yang saya pikirkan (tanpa mengetahui arsitektur solusi sesungguhnya masing2 operator):
-. Solusi twitter SMS ini dikerjakan oleh third party dari Operator telekomunikasi yang bekerja sama dengan twitter.com
-. Sms MO (request) yang masuk dari pelanggan (melalui suatu shortcode) dilanjutkan operator ke Content Provider via API HTTP
-. Sebagian atau seluruh solusi SMS gateway dari Operator ini menggunakan Kannel

Dari mana sesungguhnya text “Could not fetch content, sorry” ini berasal?

Text tersebut sebenarnya berasal dari Kannel. Ini merupakan known bug dari aplikasi SMS gateway tersebut ketika berusaha untuk mem-forward isi sms ke sebuah HTTP URL, namun webserver-nya me-redirect request ke alamat lain. Sampai saat ini, Kannel belum bisa menangani use case tersebut ( www.kannel.org/pipermail/users/2006-August/000356.html)

Jadi, untuk menuju pada solusinya, ketiga Operator tersebut (atau ada yang lain?) harus menganalisa apakah use case yang disebutkan di atas terdapat pada layanan Twitter SMS ini.

-just my 2cents-
CMIIW

Suatu hari di Kebun Binatang

Suatu hari di kebun binatang…

Cula

A: Nyamm…nyamm…nyamm…. Masbro, masbro. Gmana nih kalian pada betah apa di tanah rantau begini? Enak pulang kampung kali ya, bisa garap sawah enya ama engkong yang luas sepanjang mata melihat. Bisa jadi tuan di rumah sendiri gituhh…

B: Hmmm,,, iyeee juga ya masbro! Kagak betah gw disini. Tanahnya sempit dan semuanya serba mahall! Udah gitu ngesot dikit udah negara sebelah ajee.

C: Ah eluu eluu padee,, enakan juga disini! Nyari makan ga perlu berantem dulu. Mau jalan2 gak pake macet. bisa naek MRT kemana-mana serba deket dah! Apalagi disini hidupnya lumayan nyaman. Ntu liat deh si Monyet, sampe makan ajee disuapin. Asikk dahhh!

nyemott

Monyet: Ahhhh,,, berisik yee elu elu pade. nyamm…nyamm…!

begitulah ceritanya… 🙂

Note: Kedua gambar tersebut diambil di Kebun Binatang Singapore di suatu hari di bulan September 2011 🙂

A little more information on Patent

Today I had an internal training about Patent. This was a quite useful information, I think, as it gave me a lot of insight on how the patent actually works to ignite the act of invention. Moreover, this legal right gives companies or creative individuals a chance to work peacefully to create another invention, as their patents are protected, against illegal copy, by the state.

Actually, beside patent, there are several other intellectual property protections that cover different point of a product. They are copyright, trademark, registered design, and trade secret.

Patent

A government authority to an individual or organization conferring a right or title, esp. the sole right to make, use, or sell some invention

Copyright

The exclusive legal right, given to an originator or an assignee to print, publish, perform, film, or record literary, artistic, or musical material, and to authorize others to do the same.

Trademark

A symbol, word, or words legally registered or established by use as representing a company or product.

Registered Design

Based on The Designs Act of 2003. It was introduced to protect the visual look of a product, on sale.

Trade Secret

A trade secret is a formula, practice, process, design, instrument, pattern, or compilation of information which is not generally known or reasonably ascertainable, by which a business can obtain an economic advantage over competitors or customers.

Supposed that we take an example of a product, Nokia N95.

Here, the Patent could be the Data Processing Algorithm that are used inside the phone.

The software code, Instruction manual, and Nokia tune ringtone could be the Copyright.

The name of N95, brand Nokia and software name Symbian are the Trademarks.

Registered design of the product could be the form of overall phone body, and the shape of external button.

There could be some Trade secrets within the product that Nokia decides not to publish it.

The existence of patent law is basically to encourage technology innovation. Suppose that we create something new, then we duplicate the things to reach the market. But if other parties can easily copy everything that we made with efforts, this will discourage us to create another innovation in the future. It also promotes healthy competition through a race to make better product by doing innovation. Companies will try harder to invent a new way to realize the best product they could make. In the end, customers will benefit from this kind of competition. Finally, as consequently patent disseminate the information among companies, it will encourage them to promote technology transfer and do collaboration to deliver product.

By holding a patent, a party can prevent others to copy the solution that he made (valid for 20 years). But, this is only valid in the country where the patent is granted. There is no way to hold a worldwide patent, except you register it individually to each countries. Patent holder is also right to sell the idea to other parties by offering licensing contract.

What does a patent look like?

-. Bibliographic Information: date of patent application, information about author, title of patented item, classification number.

-. Abstract: a 150 word explanation about the idea.

-. Description:

Summary of prior Art

Problem that it solves

Explanation about solution

-. Claims: define the scope of patent application

-. Drawings: illustration of claims and protections

In Europe Patent Office, it needs 4-5 years of patent application process to get a grant of patent for individual or companies. There are several steps before we can hold a right to a patent. First one is Patent Application Submission. We prepare a document like the one that explained before to express our soon-to-be patented idea. Then, the committee will conduct a patent search on their database. As the number of patents are so many, they will need 18 months until a search report is produced. Here they will decide whether our application has already been submitted by others party or accepted. If they don’t find similar existing patent, our application will be proceeded to review for another 4 years. Overall, we need to prepare money around 35000 Euro to register patent to the European Patent Office (EPO). It’s quite a big money to invest 🙂

 

Check out for patent database: http://www.espacenet.com or http://ep.espacenet.com -> there are around 60million of patents, 90% of them are already free to use.

 

Finally, there are many ways to use and maximize the investment that ones put in a patent, which are:

  1. Licensing / Cross licensing the patent to other parties that might need it.
    ex. RSA sells their cryptographic algorithm to parties that want to secure their application
  2. Building Reputation, Companies is valued by the number of patents that they own.
    A good example is like lately Google bought Motorolla only to acquire their patent collections (http://www.forbes.com/sites/quentinhardy/2011/08/15/google-buys-motorola-for-patent-parts/).
  3. Blocking competitors to enter market.
    Apple never sell their patent to other parties. Instead, they only don’t want competitors to enter their market. Like the case in Germany, where Apple sued Samsung for patent infringement against their tablet product, Galaxy Tab, that resembles iPad (http://www.thelocal.de/sci-tech/20110909-37491.html).

So, are you ready to protect your right? 🙂

In the world full of geniuses, the slithery wins...