Posts

Showing posts from 2009

2009 Review

As we celebrate Christmas this coming midnight I can't help but reminisce the past five years of my life. Most of the time it was lonely and pressure due to the nature of my job. The past two years was really really tough as I was at the middle of completing my project. All I long for that time was to finish the job and go home and live happily ever after. I used to think that during the first six months I could easily handle all the possible problems that I would encounter but I was wrong. I almost died that time but somehow I manage to survive.

It was the best experience that I ever had and very much happy to live the day to share my stories.

Now, that it is over I am moving to the next challenge which is the internet era. Software as a service. Recently last December 3-4 we manage to reach the top four candidates on DevCon(Developers Connect) it was a whole new experience and I was pretty much ready from stage one to the finals.

Although my ultimate goal is not yet achieve but sti…

SmartGWT 2.0 Release

I have been a fan for this GWT library since I started working with ajax applications. I must say Sanjiv had made a great job improving its library to where it is now.

Congratulation to Smart GWT Team.

Check out the official announcement and the showcase demo:

http://www.jroller.com/sjivan/entry/smart_gwt_2_0_released

http://www.smartclient.com/smartgwt/showcase/

GWT 2.0 Campfire

After I found out the release of GWT 2.0 I immediately made sure that my web application is compatible with it and work my way through its codes. I was very fascinated with how the speed tracer works and played with it during my first 3 hours.

Days after I get feed up with all the new features I thought that was it. I have learned everything I need to know.

Well not exactly.

I decided to check out GWT 2.0 Campfire to learn more and I got what I need to know. Check out the video here:

http://www.youtube.com/watch?v=D2ibM4oufdM

I was happy with how easy it is to implement code splitting with this video to reduce the files to be downloaded.

Then I wanted to know the exact details on the improvements of GWT 2.0. Fortunately, I saw a blogg from ongwt by RAY CROMWELL entitled GWT 2.0: So Good It's Ridiculous

I was impress by how the GWT engineers do their job.

GWT 2.0

Wow! I am so stunned with the new updates of GWT 2.0 combine with the new speed tracer with Google Chrome. For every release version of GWT things gets really amazing with how you work with ajax application. The biggest change was from hosted mode to hosted browser is indeed the most important milestone GWT have gone through. Developing and debugging to major browsers have always been the most important aspect for an ajax developer and version 2.0 made that happen.

Code splitting to boost up performance and scale up your project is something I would love to work my ass off to learn how this code works. It plays a vital role on keeping my users out of boredom.

I am also looking forward to work often with draft compiling as I remember fixing minor tweaks consume a lot of my time.

These are just some of the features that I am very much interested but still the new features GWT 2.0 is very useful and I would be very excited to learn the new features and take advantage of it.

I personally rec…

GWT Fileupload

Image
When I first look at the fileupload sample on GWT Showcase I expect everything was easy and simple to handle however, as I began to work deep on the widget I began to question a lot of things particularly the process of transferring the file being assigned to its destination. As I began to learn a lot I realize things were pretty much complicated as compared to what I expect.

Searching for answers wasn't easy either fortunately Hasan's Weblog provide the most detailed and complete solution in helping me reach my goal.

Check out the sample that I have work with:




I know it's pretty gay that I used Taylor Swift as an example what choice do I have considering for the past three days you're staring at your codes trying to wonder what the heck is the problem? and suddenly the radio starts to play about cheer captain and bleacher thing with the chorus of "you belong with me...."

The project looks pretty cool and I love it a lot especially when you realize that your file…

GWT on YouTube

Image
Combining YouTube api and GWT is by far one of the best experience I ever had and at the same time one of the most difficult to work with. The opensource community has been working hard to create a patch for GWT developers in order to make it easier for us to work with Youtube stuff.

Thanks to bst-player things have been very good to my project.

Here's my sample project:











I am very much satisfied with the results right now but still I would wait for the real YouTube api to be compatible with GWT.

8 Secrets to Success

As I was working on my project I decided to have a break and surf YouTube for interesting videos. Something that will enlighten my day up in a positive view. After hours of searching I finally got the right video.

It's from TedTalk: Richard St. John: Secrets of success in 8 words, 3 minutes

Here are the 8 Secret to Success:

1. Passion - Do it for love and the money will follow.

2. Work - It's all hard work nothing comes easy.

3. Good - Put your nose down in something and get damn good at it. There's no magic to practice, practice and practice.

4. Focus - Focusing yourself on one thing.

5. Push - Push yourself physically, mentally and gotta push, push, push. Push through shyness and self doubt.

6. Serve - Serve others something of value.

7. Ideas - Listen, observe, be curious, ask questions and make connections.

8. Persist - Persist through failure, persist to crap. C - Criticism, R - Rejection, A- Assholes, P- Pressure

Watch the video here:

Something Big

Months have past and yet i don't blog much as compared before it seems that social site have really explode big time allowing simple thoughts and expression to be shared with friends. I can tell it really affects the thoughts of my writing on blogs.

One of the major reason why I haven't blog much is because I am preparing for the big event this coming November. I will try to update my blog as soon as the competition is over.

Wish me luck people.

Google Fastflip

For two consecutive days now I have been using the Google fastflip to read news. I think it's really brilliant to have this kind of technology develop by Google.

With all this awesome information I'm beginning to feel the pain of having information overload. I just hope my brain will adopt on this new kind environment.

Another arising problem that I am face right now is how to keep my discipline in work. Two days after the launch of fasflip I notice that more and more of my time is being spent on reading interesting news rather than codes and solutions to problems.

I still think that facebook is the number one perpetrator to my distraction. It's totally addicting.

Understanding Business

I am beginning to learn how to run a small business and for the past two months I must admit the strength of a leader will be measured by time.

Loneliness, boredom and financial problems are indeed killers for those who dare to run a startup. I am by far have yet to learn the values of focus and discipline but I am determined to adopt them as fast as possible.

Yesterday evening I have learned that most of our online games are dead due to server maintenance at the same time I was bothered with how we should approach the competition of pricing. A lot of our competitors have slash their price to point of negative revenues even my cousin whats a promo to gain more customers. But my uncle would always tell me "NO". It was kinda hard but I realize that we had an edge since most of the online servers are down and most of our competitors wants a break.

I figure out a solution by simply asking most of our new customers what would it take for them to consider us? By anticipating what th…

Working Halfway

Image
For the past couple of weeks my brain is focus on the following list: Feeds, weather, widgets, connecting people and more....it's just too much. Everyday things just got more and more complicated considering that I'm still working on design. The database part is yet to be far from over.

I just hope that when I started working fully with the database architecture I wont get bored and sleepy.

I may be complaining on how things are being complicated but in realty I am very much excited to complete all the task. The cool stuff that I use are very useful in the long run.

I need to keep on going to reach the finish line. More work on this project.

SmartGWT 1.2

I just check the new features of SmartGWT 1.2 and it just blow my mind. From UI features to support to database and to almost everything about ajax its just stunning.

Good luck to this guys and more power.

Read the release: SmartGWT 1.2 release!

GWT Maps with Geocoding

Image
I could still remember the last time I work with maps using my old EIS project (GWT+GMaps) where address can be converted to longitude and latitude to view the location. It was kinda hard to understand the code.

Google has made a major update for its maps with the use of Geocoding in order to easily view your search address. It was indeed a breeze especially on the code. It was cleaner and better than ever.



Here's my main menu. As I type the location of the address and hit the search button I was totally amaze with the result.



I tried a lot of address and it was almost 100% accurate. For now I am very much satisfied with the results.

For the past 4 hours I have goggled for some simple code on how to use the geocoding but most of them are too complicated to understand. Here's my code:

LatLng addressLatlng = LatLng.newInstance(13.8666667000, 121.0166667000);

MapWidget map= new MapWidget(addressLatlng, 5);

map.setSize("100%", "100%");

// Add some controls for the zoo…

GWT 1.7 Release

Download it now!

GWT 1.7

GWT RSS Reader

Image
Working with RSS Reader has never been this good especially when your handling with HTML parser. It just makes life even better. I could clearly remember when I first installed my RSS Reader on a desktop. It was fun watching all the feeds update my reader and read all the latest news that I really like.

Things gets really frustrating when it's my time to add my link. I always get's an error because I just add the link of the website and it's quite confusing because atom link or rss link is so new to me and I just don't have a clue on how to pick them up. All I know was I want to pick up new updates on news and blogs that I really like.

One of my friend told me that you need an RSS Feeds or Atom link of that website. To find the feed was a total hell. Imagine from an idiot user perspective opening the site's source code and search the lines for the right feeds. That's just insane!

Fortunately, on my blog blogger made it easy to look for your own atom link but sear…

Compose Mail Complete

Image
Working on compose mail is one of the most interesting experience I've ever had. From writing text messages to attachments and sending it to the recipient was a totally new experience for me.

It was absolutely different experience as compared to my years on database job. If I evaluate things over the level of difficulty that I encounter during the process of development GWT Fileupload added to both horizontal and vertical panel was one hell of a problem to solved.

However, despite all those problems the best thing in life is when you have solved the problem and your web application works very cool.

Here's my compose mailbox:




Multiple attachments works very cool in here as if you can simulate the real email.


As I send the email to my Yahoo Messenger here's how it looks:




That's it for my mail box now I can work on my RSS Reader.

New MailBox Updates

Image
For the past couple of months I really tried so hard to make sure all the standard features of email will also be available on my pushed mail. Behold the new details of my mailbox.




The new interface has the ability to identify the following features:

Inbox - It has the capability to show the list of unread mails.

Drafts - The drafts works on getting the total number of draft being store on its folder.

Spam - The spam works the same with inbox it fetch most of the unread mails and display the total count.

Most basic features such as marking as read, unread, select all and delete works fine. I tried to keep things as simple as possible to avoid complex problems during the process of development and most importantly to avoid my brain to keep on adding more insane features.

I will be working on the last phase which is the compose and I think it's one heck of a challenge. Can't wait to work on it.

Ideacamp

Image
I was very much satisfied with the conversation we had at Ideacamp there are a lot of smart people willing to share what they have from IT, energy resources to mother nature you name it they have a lot of things to share. I have also seen a lot of business opportunity being offered to us.

If there's one thing I really like about this organization its the fact that they let people become entrepreneurs.

I used to think I was the only one who would venture on this and it was hard but now I have allies and people to talk, share and learn from. This is what I need.

Hopefully, I could maintain my focus and keep the fire alive.

Inbox Reply

Image
I have been working on my mailbox functionality particularly the inbox reply of my content mails. As far as I am concern it works pretty cool right now. Check out the result of my mails.



Here's the result of my top 20 inbox mails in Gmail pushed to my SocialMe project.




I choose my iTunes mail. I decided to change the viewing content of my inbox since my old style of viewing affects all the objects and controls of my overall mailbox. Right now it's pretty much under control but it comes with a price of configuring the content view.




Once the reply button was click all the basic task that a user need to reply will appear. Automatically the content will be send to the email address that was provided.

Here's the view of my Yahoo Mail.



As you can see the a new message pops up the moment we send the email.



As we try to check the new inbox we can see that the mail comes from SocialMe email.



finally, here's the result of my email. I'm still puzzled as to how to attach the images o…

Google I/O 09

Web as a platform...







For more videos just follow the related links on YouTube.

GWT 1.6 Gchart.gif error

If your using Gchart in GWT 1.6 and encounter and error with gchart.gif simply use this code to fix the problem.

GChart.setBlankImageURL(GWT.getModuleBaseURL()+GChart.DEFAULT_BLANK_IMAGE_URL);

I got the solution from here: http://code.google.com/p/gchart/issues/detail?id=6

GWT 1.6 Server class 'jar file' could not be found solution

Image
While migrating to 1.6 to take advantage of its new features I was face with lots of headache addressing a lot of warnings that are so ridiculous since I don't understand why. I have been Googling for answers to this problems but I found no answer.

Out of despair I tried to solve things on my own by reading the manual. What more can I say I'm just too lazy to read those stuff.

During the process of migration a warning that keeps on popping in even though I assign the java build path makes me want to scream. It looks something like this...



After 5 hours of trying to search for answer I finally convince myself that I have to read the GWT manual and rely on my instincts. Here's the solution...



First of all at the start of my development with my pet project I always make sure that all the jar files are being categorize according to folders to avoid confusion or easy removal in case I want to.

Unfortunately, GWT 1.6 was not prepared for this (I guess) and all libraries that you use…

GCharts

Image
It's been a while since I post something informative in my blog still I am in the process of adjusting in my new environment after a month since I left my work place for five years. Most of the time I get side track by all kinds of distraction in my home town as compared to my old office never the less I manage to work on something cool and its the GChart.

I used to work with GWT-EXT flash chart and it's pretty decent however, I just think that a no plug-in policy to most browser is even better.

I'm working on my pet project SocialMe in which I decided to work with the bar and the line charts to provide a better presentation to customers who value their data more than ever.



Bar Charts




Line chart

Over all I am very much please with the result and I think I would like to keep this for the longest time on my project.

Internet connection

I finally got my internet connect at home after more than 3 weeks of waiting. I just hate the PLDT subscription they should stop promoting their internet DSL connection if they can not cope up with the demand of the consumers. I just hope our smart bro connection will last.

Ill be working with my project now.

How I work

Image
I just setup my new office place and I love the setup of my rig. I am pretty much fascinated how my mind work having four computers working together may it be on multi tasking or integrating them to work on one common goal.

I haven't start coding yet but as far as I am concern during installation phase it looks very promising with reduce idle time.

A Better Inbox View

Image
After studying my inbox view and trying to make it closer on how Gmail handles the content especially the text/plain that has hyperlink and the ability to wrap whenever it's too long; I realize that Google was just too brilliant for me to handle.

As I try to work out why my Javamail content data won't initialize the hyperlink and wrap I began to realize two important things. These are:

1. Even though I already created and tested the code that will handle those string and will inspect word for word on any possible hyperlink. Javamail seems to have issues with "getcontent functions" because I cant manipulate the content string but if append a new string the code works.

2. I think Google has a separate code for handling the wrapping of data. I have search everywhere to find a code in HTML/CSS that will wrap a very long word like hyperlink in facebook and I couldn't find one.

Even though I manage to fail on trying to make it as good as Gmail the good news is I created my…

Dealing with Different Mail Inbox

Image
Every time I open my inbox and read its content it never occurs to me that dealing with information have never been this complicated. Whenever we look at our mail and see the different kinds of messages we receive it seems that we find this things to be a natural and a standard for every email provider like Yahoo!, Gmail or Hotmail to be able to handle the different kinds of format.

As I work closely with its content I realize that it was not as easy as I expect it to be. The different kinds of format on emails are quite tricky to deal with. Fortunately, a lot of people have already been working on them for the past few years and I was happy enough to find some solutions on the net.

The three common types of emails:




Text/Plain




Text/HTML




Multipart

As you can see I’m still working on dealing with text/plain hyperlink. The Multipart was a little complicated to deal with and the text/HTML was the easiest.

For the meantime I’ll be working on its functionalities and get back soon on this problems.

Google Chrome Beta 2.0

I am pretty much convince that Google Chrome Beta 2.0 is by far the best browser that I ever had. The speed is stunningly awesome.

In a recent hacking competition, during day one... IE8
was hacked... FireFox was hacked twice... Safari was
hacked... and Chrome was left unscathed. Chrome was
built from the ground up with security in mind.

I just hope my download manager will work on this browser.

Download Here: Google Chrome (BETA)

GWT 1.6 RC

Time for upgrades on my Ajax application with GWT 1.6 ready and out for download.

GWT 1.6

My Chrome Experience

Finally, I decided to test drive Google Chrome and my final verdict to this browser...

"WOW"

I have never seen such browser render this fast.

Download it now: Google Chrome

Meralco: MDR(Meter Deposit Refund)+PPA+Katas ng Vat=Programmer’s hell

Since the middle of 2008 Philippine governments strictly cursing the energy sector searching for mistakes and the result was a billion pesos refund for customers. I’m not against this policy in fact I am so happy for this great news. However, only a few people would realize the painful process on this kind of transaction. It’s the programmer’s job to absorb this kind of mistakes and I am one of those unfortunate people to deal with this situation.

It requires accuracy and consistency to deal with this day to day bills. I’m not really complaining about the level of difficulty of this problem but rather I just can’t work on my AJAX application with problems like this popping month after month. I exist on this company to revolutionize their overall transactions and not on crappy back jobs due to greediness by some few.

I’m just worried about the bloatware of our converter as I add more codes to deal with situations like this plus our balance sheet is beginning to show an increase margin of…

Eric Schmidt at Teaching and Learning

I have never seen such a smart person attack by pessimistic and worries in this world and be able to counter it with optimism back with facts and solid reasons of his confidence.

Introducing the best of Eric Schmidt:

My Final Meeting with the CFO

Every time I have a general meeting where I sit in front with every department users and our CFO will ask each individual if they still have any problems it never fail to give me the chills.

Because no matter how hard you try to make things predictable by asking them for feed backs may it be a day or an hour before the meeting most of this users are unpredictable especially when face with a strict boss.

Thankfully, I am very much happy with the results of our meeting this afternoon considering 95% of this users agree on the final completion of the project. It has never been an easy job because you have to convince all users plus the CFO.

Five years in software development has never been fun especially when you have to face every single concern employee and learn every detailed transaction of an electric company from registration, billing, inventory up to the very .01 transaction of payments. It takes passion, hard work and guts to build the project.

I have to say this is indeed one of my…

SocialMe Pushed Mailbox

Image
Since the birth of internet and emails I have always been fascinated on how this great technologies are being created and even wonder how it feels to be part on working with these tools. Everyday, I check my emails and everyday I always ask myself how it is being done? And so the journey begins...

The first time I manage to pushed my emails using GWT-EXT and Javamail I was so excited with the technology because I know those technology are being used mostly by mobile phones. Unfortunately, GWT-EXT is a dying third party toolkit and I just realize it was way too slow as compared to the native GWT.

I told myself "From now on I will focus my everything on the native GWT no matter how hard it was."

And so I did and convert most of my codes to its native syntax. Honestly, I have never been so happy with how things are. It's simple, fast, cool and best of all it has a small amount of file size. The path to take this route was really hard but the benefits are totally amazing.

Here&…

Google Earth 5.0

After watching the Google Earth 5.0 launch, I absolutely think that the new features such as:

Historical imagery from around the globe
Ocean floor and surface data from marine experts
Simplified touring with audio and voice recording

Are totally mind blowing that I could not help but just say "Wow". The partners who team up with Google is so enormous I would like to thank them. With their help a new master piece is born.

I just can't wait to download Google Earth 5.0

Watch the launch event: Google Earth 5.0 - Launch Event

Download Google Earth: Google Earth 5.0

GWT+Dynamic Table

Image
A big YEAH for me!

After 6 hours of analyzing Google code for dynamic table I finally got it work on my application. The complexity on just how to make it run is nerve breaking. Google team are so advance in constructing their code I don't even have a clue on how to start with the basics.

The good news is all the fundamental structure of a simple dynamic table are now laid before my code. The bad news is I still have to understand some of its complexity as to why the function was design like that.

Don't you just love opensource? it makes you realize that you still have a lot of room to improve your programming skills.

The Audacity of Hope

Image
I just bought this book last Saturday and started reading on it on Monday. Ever since I saw Obama's visit on Google Campus last 2007 I was impress on how he deliver his answers to most audience and knowing he is black competing for presidency in the U.S. seems to be an impossible path to take. But against all odds the guy just became the first African American President.

The first question that pops into my head when I bought this book was "What the heck is Audacity?" I never really have any clue what to expect on this book except that all I know the writer of this book was good enough to make me wonder how this guy think and become the man who he is right now.

I search Google for answers and behold the meaning:
-fearless daring

-aggressive boldness or unmitigated effrontery; "he had the audacity to question my decision"

-Insolent boldness, especially when imprudent or unconventional; Fearless, intrepid daring

As I finish the first chapter yesterday, my personal ve…

GWT+MySQL Best Practice

Image
Migrating from GWT-EXT to native GWT has never been an easy task as I expect it would. I took me some moths to really absorb the fundamentals of its Java code, structure and pattern.

The price for taking this challenge was undoubtedly more gratifying especially on performance and size. I had lesser reboot due to memory leak and I had better handling on syntax especially on database due to its strict use of its object.

Here are some improvements on my code:

DatabaseServiceImpl.java

String url = "jdbc:mysql://localhost:3306/";
String db = "mydb";
String driver = "com.mysql.jdbc.Driver";
String user = "myuser";
String password = "mypassword";


public String connectDatabase() {
String resultString;

try{

Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+db, user, password);
//conn = DriverManager.getConnection(url, user, passwor…

The Mission

For the past two months I have been asking myself the question of "what is the reason of my existence in this world?" As I reminisce the things that happened in the year 2008 I realize that most of my closes friends did change a lot. Most of them took the most traveled path of our society. Things like they stop dreaming, drinking, smoking and just live life as they come.

It's sad to know how they let go the bonds of principles that we used to live during our college years or during those days when we are all together. I could still remember quite clearly how these people would tell me "how great their passion was like running a business and world domination" or "some do tell me that for better or for worse we will cross that darkest tunnel and together we will see the light."

People do change especially when they are face with test. Test like a failed business, fear, pressure in work or life, or even death.

Many times I wonder if I would still consider …