Free Zone is an exciting new product that allows users to access Google+, Gmail, and Google Search on their mobile phone without incurring data charges – no data plan needed. It’s available on most internet-enabled mobile phones.

"Free Internet" comes to the Philippines!

As of time of writing, Google just launched Google Free Zone exclusively in the Philippines! It allows users to access Google+, Search and GMail right on their mobile phone for free! This is in partnership with Globe.

The catch is that if you click on a link on your search results or a picture in your Google+ stream or an attachment from your email messages, you'll be notified that you are about to incur charges. Theoretically, if you stay on the Google ecosystem, there is no usage limit.

Visit http://www.google.com.ph/intl/en/mobile/landing/freezone/stp.html for more info on how to gain access. :)

Happy browsing!

UPDATE: Click here for more info from Globe.

To my mind, these are the things that I learned after I got married. Well, it doesn't really mean that everything listed here are new to me, it’s just that some of these got more emphasized in the months that came by after tying the knot.

#1: If The World Ends On 2011, 2012 Or Any Other Year, It Doesn't Matter

On 2011, doomsayers were predicting that the world would end on May 21. For some reason, nothing happened and it got rescheduled at October 21 of the same year – just a day after my wedding. Despite not knowing what the future holds, my wedding vow went like “... to love you, take care of you and provide for our family... This is my promise, this is my vow and this is what I intend to keep for all the rest of my days in this life and the next...” To some, it might be too ideal and unrealistic but to me, it doesn’t matter what they say. I got married to the woman I love, the one I know I will grow old with, to the one whom I know I would like to be with until the end of time – either the end of my time in this world as an individual or the world’s end at a cosmic scale. Either way, I'm the happiest man dead or alive.

#2: Individual Personalities Will Clash

I grew up with only one big brother; she grew up with two big sisters and one big brother. We are both the youngest in our families (“bunso”) thus, as I am told (and I do not believe in this by the way), we always get our ways. Assuming that the last statement is true, that fact alone merits as a good excuse as to why we will always have our different views on things, different stand and different expectations. Every now and then, we get to a point where stubbornness sets in and we can’t even agree to disagree. It’s like being alone for the longest time then you bump into something in the dark and all of a sudden that something bumps back. But the kicker is that it’s ok. It’s ok to get into fights and make a mess every once in a while just as long as you both clean up the mess and try to find closure.

#3: Money Is Essential But Not The Purpose Of Life

This lesson is best explained by Twitter CEO Dick Costolo when he said that “we should think of revenue like breathing – it’s necessary for life, but it’s not the purpose of life.” Due to the nature of my family’s business, there are times when the grass is green and there are times when the well is dry (at the time of writing this, the well is not only dry, but has already accumulated dust). Maybe it serves as a reminder that the value of money is always more than what you think it is but it doesn’t mean that that is all there is to it. It’s true that money makes almost everything in the world happen. Keyword: almost. For the simple joys in life, no amount of money can ever replace rare instances where you both know that you are truly happy. Like raiding the kitchen at midnight or staying in bed on a lazy rainy Sunday afternoon or singing at the top of your lungs while on a road trip or just sitting in the park watching the leaves fall down as you welcome winter on a foreign land. Money will buy you a lot of things but money and all the things that you bought with it won’t last. Shared happy memories do.

#4: Being Married Doesn't Mean Giving Up Time For Yourself

Social norm dictates that married couples should always be together, most especially for newlyweds. I don’t know why that is but I believe that it exists for a reason. Is it relevant at this day and age? Maybe or maybe not. But my point is that the demands of society can put most of one’s plan in the backburner. This includes personal goals and targets like a master’s degree or a solitary trip to Europe or a pilot’s license. Most often than not, when faced with a choice between an activity that involves both me and my wife on one hand and an activity that can be done with just myself on the other hand, I end up choosing the one with my wife on it. I’ll admit that during the first stages of my realization, it felt like the dreams I’ve set way back before I got married will never come true. But as they say, never say never right? What I didn’t realize back then was that my dreams are still the same. They’re still dreams, the same ones I had before getting married. They may be a lot harder to achieve now but when I do, success will be so much sweeter and more fulfilling now that I have someone to share it with. If I fail, I know that someone will always believe in me even at times when I don’t.

#5: Be Ready To Add More Rules

As you both discover more about each other in the context of married life, expect to add more rules in your relationship in every waking hour. These rules vary from the mundane to the complex such as shaving your smug face before seeing her mom or when it’s time to become that psychic mind reader once again just to know if she wants flowers, chocolates, coffee, a new bag and shoes or all of the above. [DISCLAIMER: these are out-of-this-world examples only. The names/identities of the person(s) involved are changed for their protection. Yeah, you know who you are.] But despite how crazy these rules are, you know that it goes both ways. Sooner or later you’ll realize that you have the power to do the same. What is important is to know the rules so you’ll know how to bend them and make them work in your favor. Spend an afternoon finding loop holes just for fun and have the courage to break them every now and then for sanity’s sake. The most important thing to determine is to know if the rules are worth breaking. Pfffft! Rules? They’re just guidelines anyway. :)

#6: Don't Be Afraid To Ask Married Couples

The best teacher is experience. So what will you do when you don’t have any experience and you’re not sure what to do next? Ask. Just ask. There’s no definitive manual for living a married life. You play it by ear. So when you ask, listen. For sure, someone has experienced something somewhere sometime that is somewhat similar to your situation. You can learn a lot from their stories and how they handled the situation as well as from their mistakes and how they would have done things differently. Families and friends are more than happy to share a story or two especially if they went through similar situations that you’re in now. What’s good about this is that as you progress in your married life, you’ll realize that you knew that right thing to do in certain situations all along. You just needed to hear the right words to boost your confidence and the affirmation that everything is going to be alright.

#7: Parents Hit The Bull's Eye When They Said "You'll understand this better when you get married"

When you’re young, you’re probably curious, eager and stupid. And mostly stupid. You tend to question a lot of things on why they are the way they are. It’s not farfetched that you’ve probably heard this line a couple of times: “You’ll understand this better when you’re married.” Then it’s the end of the conversation. There are simply no words that can describe what married couples have that most single people don’t have. I cannot accurately pin point it if it’s the unspoken connection and understanding, the motivation that drives the couple on certain decisions or the trust on each other that the right thing will and shall be done.

To my Mom and Dad, thank you and I love you both. I think I understand now.

25th of June 2012. It was the day I named my mountain bike. I never had any real intentions to name it but that day – on a Monday at that – I had to.

I went to SM Fairview from our house using my then-unnamed bike to meet up with Pao. We planned on spending the morning going up to Timberland in San Mateo, Rizal. We’ve been there countless times and we just wanted a quick fix for our biking needs. After loading our bikes in Pao’s Revo and as we were on our way, heavy clouds started to appear and it started to drizzle. We decided to push through with our plan hoping that it would stop as soon as we get there. When we were on the vicinity of Batasang Pambansa Complex, the Sun was out and the road was dry. I remember thinking that it was going to be a great ride since the paved road after the basic trail will not be scorching hot. Boy was I wrong! Dead wrong!

We got there at around 10:00am so we decided to start at the clubhouse (hindi pa naman ako nag Wall 1 or Wall 2 e). After unloading the bikes and finishing up with the safety checks (naks!) we started to ride to the trail head. Our dear friend Sun gave up on us and heavy clouds started to settle back in. After the first climb or so, rain started to pour down. We thought that like before, it would stop soon. But the rain did not stop. The Sun did not come out. There we were, in the middle of the trail with nowhere to hide and only one stop to run to which was at the end of the trail. We pressed forward trying to enjoy the wet and wild ride with hearts pounding, body fats shaking and mouth pursed to hide the silly childish grin brought about by biking in the rain and keeping mud out at the same time. Sealed

We reached the end of the trail and like clockwork, the rain stopped and the Sun was out again. As we started the ascent on the cemented road leading to Giant, I remember looking up and seeing the road literally give off steam as if the rain that just poured down was evaporating. Sala sa init, sala sa lamig.

Every now and then, we usually talk during recovery portions (flats, no gradient/incline) of the route. Pao asked me if I wanted to try a new route which included fire roads and single tracks. And being the adventurous type that I am (ahem!), I said yes. So we went to this trail called AFP (dunno why). This is where everything started to go downhill (or uphill – depending on your outlook in life). The entrance off the road was covered in soil. The type of soil that is clay-ish, brownish-orange in color and is very sticky when wet!!! It was so sticky that my tires were quickly covered in mud and the harder and faster I pedal the slower I became. Para akong kalabaw na nag aararo ng lupa. My tires were like fat tires. Mud was everywhere: in my rear derailleur, both pulleys, cogs, chain, front derailleur and fork arches. Both Pao’s and my bike were no longer functioning as they should so we had to walk and remove all the mud. Walking was also hard because even our shoes’ sole accumulated mud and made it loose grip. As we were shaking off all the mud, Pao’s chain got stuck between the granny gear and the spokes of the rear wheel. I think it took us more than 20mins just to free the chain since we did not have the proper tools except for an allen wrench which we used to pry the chain off (which we also forgot to pick up sa sobrang excitement pagka-ayos). Once we got the chain to its proper place, we started to ride out once again. And as if some unknown force was trying to keep us in the middle of nowhere, Pao’s rear derailleur hanger broke off!!! There was no way we could repair it so we had to walk all the way to our destination. Cry

When we got to Giant, we ordered our brunch and started talking about how much misfortune we’ve had and it wasn’t even time for lunch. I asked the vendor if there were other bikers earlier that day and to my surprise, she said that we were the only ones (adik lang). As we were eating, it started to rain again. This time, it was seriously pouring down. Since we had time to kill, we fixed Pao’s bike so that at the very least, he could ride downhill. We tied his chain and rear derailleur to the chain stay with straw ropes just to make sure that nothing will get caught in the spokes of the rear wheel when riding downhill. Good thing I also tried my bike and discovered that the second pulley in the rear derailleur was not moving at all due to the mud. The whole rear derailleur assembly was being stressed by the chain coming from the crank. I suspect that this is what happened to Pao’s bike which ultimately led to the rear derailleur hanger’s failure. All we had to do was to clean the pulleys, cogs and crank and I was able to ride it again.

Improvisation after a broken rear derailleur hanger: Downhill free rider!

After “fixing” his bike and waiting for about 10-15mins, the rain turned into drizzle. We decided to start on our walk back to the club house. I remember talking with Pao on how lucky we were because instead of walking under the heat of the Sun, we get to walk on a relatively cooler cement road without the Sun. I can’t exactly remember who said it but one of us joked that God doesn’t love us because of all the things that had happened to us. It was like we were abandoned or something to that effect. Then it rained again - hard. It rained so hard that every piece of clothing that I had on me was soaking wet. Every. Piece. Of. Clothing.

What we did next was to look at the brighter side amidst the gloomy weather. How often can you ride a bike on a Monday? When was the last time you played in the morning rain? When will you be able to ride a bike on a Monday and play in the morning rain at the same time? 

We may have been unlucky the whole time during that ride but somehow, we managed to reach the end of the cemented road and the start of the basic trail without any new misfortunes aside from Pao forgetting to put his phone back on its waterproof case! We went inside the guard house and asked for permission from the guard on duty to allow us to wait out the rain before hiking back to towards the basic trail and to give Pao enough time to put his phone inside its waterproof case. As we were about to walk back in on the rain to start our hike, we saw what could be described by anyone who was in our situation as the most beautiful thing anyone would ever want to see. It came almost out of nowhere or maybe we just didn’t notice it approaching. It was a white Mitsubishi Strada 4x4 pickup truck! We asked the guard if he knew the driver and wondered if we could hitch a ride. The guard told us that the driver was known in the area and is a priest. Innocent We had this ridiculous looks on our faces! And even before I could finish my question on the possibility of hitching a ride, the priest was already nodding his head! We were on a state of disbelief!

We loaded our bikes on the truck bed and stayed with our bikes. As the 4x4 was moving up the trail, we could see the torrent of mud water running down. This would have been against us if we hiked back. We estimated that at certain points of the trail where it was flat, the mud water was knee-deep. Thank God for not letting us hike back! Thank God for all the delays so that we would be where we were when the 4x4 was passing by!

As we were patiently waiting for the 4x4 to reach the end of the trail, we decided to name our bikes to remind us that wherever we are, whatever we do, God will always be there for us no matter what happens. The names will remind us that there will always be difficulties along the way but they make the journey much more worth it and that there’s a bright side in every situation. And if all else fails, if everything seems so hopeless, God will send you a sign, an answer or maybe even a white 4x4 pickup truck.

So without further ado, I’d like you to meet Faith and Grace:

 

Left: Faith with a broken rear derailleur hanger (before “fix”). Right: Grace

In today's issue of the Philippine Daily Inquirer, there is a story entitled "US toilets compete for the top seat." Its about an on-going contest to find America's Best Restroom.

Home Grown

I viewed the ten finalists at http://www.bestrestroom.com/us/vote.asp and I must say, some of them really are good. Keyword: SOME. I don't know why four of those entries are there nor why this story is on the front page nor why I am writing about this.

All I know is that I've seen better. Maybe not something that bests all 10 finalists but definitely better.

 

Sample? Go here: At home

I got a very nice surprise when I checked my "Messages" on facebook a few minutes ago. 

I was prompted to create my facebook mail and was done in about 2-3 steps. This might be old news but as far as I can remember, facebook started gradually rolling this out late last year and maybe it was just really unexpected, I had to blog about it.

Anyway, what happened was there was a pop up message saying that I need to upgrade to the new "Facebook Messages". I clicked the button and it showed my profile username (facebook.com/profileusername) and stated that my facebook email address will be the same as my profile username (e.g. profileusername@facebook.com). I clicked next and was told that emails/messages from my friends would appear in "Messages" link and emails/messages from non-confrimed friends would appear on the "Other" link. After completing these steps, it displayed the different ways on how I can be contacted/sent messages.

So what changed?

Aside from the changes in the way messages are handled mentioned above, messages coming from emails and chat messages share the same interface. You can reply on either chat box or main Messages window. There is a quick reply mode where if the check box is ticked, all key presses on the enter key sends the message immediately or if unticked, gives a new line instead. You can also attach a file or take a picture or video before sending.

Just for fun, I tried sending myself an email and here's the header details from GMail:

I've written in a post a few months ago about a javascript-based lightweight WYSIWYG rich-text editor that can be used in web pages called FCKEditor. The developers have upgraded it and called it CKEditor. I tried to use it two days ago and up until now, I still cannot use it for my specific purpose. I am near the end of a project with this WYSIWYG editor as the second-to-the-last-module. I am convinecd that I have encountered a bug and have yet to find a solution. I will blog about this for documentation purposes.

CKEditor + AJAX + UpdatePanel + Multiview = Problem

The bug I am encountering now appears only on when the conditions are right. I created a new AJAX-enabled website project in Visual Studio 2008 with C# as my code-behind. I downloaded the latest (as of time of writing) version of CKEditor 3.5.2 and CKEditor.Net 3.5.2 control from their website.

From Solution Explorer in VS2008, I added a BIN folder and placed the CKEditor.NET.dll (from CKEditor.Net 3.5.2) there. The ckeditor folder that contains the core files (from CKEditor 3.5.2) was also placed in the root of the website. I opened the Web.Config file and added the following line to the <system.web><pages><controls> node:

<add tagPrefix="CKEditor" namespace="CKEditor.NET" assembly="CKEditor.NET" />

Then, I opened Default.aspx and add the following line:

<CKEditor:CKEditorControl runat="server" ID="tbContent1" />

So that the whole Default.aspx would look like this:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <div>
         <CKEditor:CKEditorControl runat="server" ID="tbContent1" />
    </div>
    </form>
</body>
</html>

If you try to view it by debugging it (hit CTRL+F5 while on VS2008), you should see the CKEditor.Net Control working as intended.

Now if we put the CKEditor.Net control inside an update panel, it would still work. If the update panel contains a multiview control with only one view panel and the CKEditor.Net control is inside the only view panel, it would still also work. But once the multiview control has two or more view panels and the CKEditor.Net control is on the second view panel (or any panel for that matter, as long as it is not on the default active view index of the multiview) that's where things start to get ugly.

We can change the code of Default.aspx to:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <div>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
                    <asp:View ID="View1" runat="server">
                        <asp:Button runat="server" ID="btn" OnClick="btn_Click" />
                    </asp:View>
                    <asp:View ID="View2" runat="server">
                        <CKEditor:CKEditorControl runat="server" ID="tbContent1" />
                    </asp:View>
                </asp:MultiView>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
    </form>
</body>
</html>

Notice the button on the first view panel. We'll be using that to switch the active view index of the multiview control to the second view panel. We need to handle the OnClick event of that button so we do the whole code-behind (Default.aspx.cs) file like so:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void btn_Click(object sender, EventArgs e)
    {
        //MultiView1.ActiveViewIndex = 1;
    }
}

Once we debug it again (CTRL+F5 while on VS2008), we get a button on the initial page load since the multiview's active view index property is set to zero (ActiveViewIndex="0"). If we click on the button, the OnClick event of the button sets the multiview's active view index to 1 (where the CKEditor.Net contol is at). This produces a javascript error and the CKEditor.Net control is rendered as a plain textbox.

 

Line: 5
Error: Sys.ScriptLoadFailedException: The script '/CKEditorMultiview/ckeditor/ckeditor.js?t=B1GG4Z6' could not be loaded.

 

It happens on Internet Explorer 8.0.7601.17514, Google Chrome 10.0.648.151, FireFox 3.6.13 (although the javascript error does not show on GC and FF - might be a in-browser error config thing - the CKEditor.Net being rendered as a plain textbox is present on all three major browsers).

As I've said at the start of this post, I have not yet found a solution to this problem. If you have any information on how to fix this particular problem, kindly drop me a line at the comments. Thanks!

So I got an over speeding ticket.

Last Saturday (March 5, 2011), I went with my fiancée's clan for a summer outing. At around 7:30AM we were at SCTEX's Clark South toll booth. The expressway is still very nice to drive on and is very very free from congestion. Running at a 100kph seems like 60kph as you zoom past the green scenery.

Apprehension

Call me crazy and irresponsible (and guilty as well) since we were on a 4-car convoy going to Subic with speeds in excess of 160kph. I was the last car on the convoy and all the while, they were moving from left to right and vice versa, weaving our way through the other cars. Most of the time I stayed on the left lane (over taking lane) even if there were no cars on the right lane (slow/cruising lane) while the other cars in our convoy kept returning to the right lane. I also noticed that there was a parked white pickup truck on the side of the road a few kilometers before the exit booth at Subic. Why am I saying all this? Because these are the tell tale signs that they're on to you. Heh.

Upon reaching the exit booth at Subic, I was immediately flagged by the traffic enforcers and guided me to stop the car on the shoulder lane. I opened my window and was told that they detected that I was over speeding and that they'd like to see my license. I gave the apprehending officer my driver's license and upon seeing my address, he asked me as if to confirm "Sir, taga Caloocan po kayo? (Are you from Caloocan City?)" I said yes and he walked away with my license.

A few minutes later, he returned with the traffic violation ticket already filled out and explained to me that I was caught by their speed gun running at 129kph (!?). I asked him a few questions and I learned that although the "advertised" speed limit at SCTEX is 100kph, a 15% speed allowance is given to motorists in the event that the car needs to speed up to overtake another car. I asked why was I the only one caught over speeding when in fact, there were four of us. He said some BS excuse and just offered some tips so that I won't be caught next time (at this point I felt really weird because I was with my fiancée, her mom, her cousin and there I was guilty as hell and the guy who just apprehended me is giving me tips on how to beat their system).

I was also told that there would be a picture of my car with the speed reading superimposed on it as proof but can only be showed when I claim my license. He said that since I live in Caloocan, I will be claiming my license at the Land Transportation Office's (LTO) main office at East Ave. in Quezon City. In lieu of my license, I was given a temporary license which is good for 3 working days. 

Claiming My License

I went to the LTO main office on Wednesday (March 9, 2011) at around 2:30PM. I asked the guard in the parking lot where to go next. I was with my dad who was going to renew his license (expired for more than a year!!!).

The processing was fast but was a bit unorganized. I went in to one building to have my violation ticket be numbered for a queue then waited for about 15 mins. before my number was called. I went to the personnel who called my number and gave me a sheet of paper with the break down of the charges that I need to pay first. PhP 1,000.00 for Reckless Driving, PhP 200.00 for Research and Legal fees and a few more (around 60.00) for computerization and training fees (!?) for a total of 1,26x.xx pesos.

The cashier is at another building and took me another 15 minutes. After I was issued a receipt, I was not told where to go next. There wasn't any postings or directions for the next step. I went back to the first building and asked the guard where to go next.

I went to another building where the exam and film showing (a.k.a. the seminar) is held. The questionnaire is 60 items (multiple choice type of exam) and I was given three pieces of paper: (1) Pre-exam answer sheet, (2) Case details and (3) Post-seminar. The pre-exam answer sheet should be filled up using "stock knowledge" before the short film is shown. The case details was filled out with the case number, ticket violation number, license number, dates and other information related to the apprehension. The post-seminar sheet was filled out during the short film's playback. As the instructor said, "If ever you get your answers in the pre-exam sheet wrong, write the correct answer in the post-seminar sheet." I guess they were hoping that the mistakes made on the pre-exam sheet will be realized by the ones taking the exam due to the short film's playback.

The film was short. I guess it was less than 30 mins. but was really boring. It starts with the history of transportation from (and I kid you not) carabaos, the naming history of the LTO and the requirements for applying for a student and non-professional license. Ok the film might not have started with saying that transportation started from carabaos but it was that freaking boring. It was very illogical as well since our violation was reckless driving and not driving without a license. The exam never had a question that touched on the name or history of the LTO nor did the short film discuss the tonnage limit per axle on an 18-wheeler truck which was a question on the exam. I think this is the "torture" part for those who violated traffic rules.

After submitting the exam, we had to wait for what seemed like eternity on the 2nd floor of the same building. And in true graduation-style roll call, we are given a certificate of exam completion and a booklet entitled "The Filipino Drivers Manual".

Upon receiving the certificate of exam completion, I went to the 2nd floor of the 1st building that I went to where I had to surrender all certificates, tickets and receipt then wait for my name to be called. The only thing that I got back was my license and my receipt.

It was about 4:50PM when I got back to the car with my license, booklet-souvenir and my dad waiting patiently. He was done renewing his license for about 30mins already.

So if you'd want to speed up along SCTEX or NLEX, make sure you allot about half a day and PhP1,500.00 to get your license back. hahaha!

I've successfully installed a photo gallery here on my blog. It is hooked up to my Picasa web albums so whenever I upload pictures from my computer to Picasa, the photo albums here on my blog are also updated. To see the photos, just click on the Photo Albums link on top of any page. There you will find the albums ala-old-school Multiply Photos. Click on an album and the photos gets loaded. Click on any photo to see a larger image.

Enjoy!

P.S.

The only limitation is that the comments are not yet available at the moment for each photo or album. I'll add this one to the growing list of things that I need to look into so that I can share it with others.

Special thanks goes to Guy Nethery for sending me the files needed and his family blog at http://thenetheryfamily.com/gallery.aspx for being an inspiration, Jack Moore for the jQuery plug-in ColorBox at http://colorpowered.com/colorbox/ and Google's Picasa Web Album API.

Finally!!!

After a long wait, Google is now updating the Nexus line of phones with the (possibly) last OS made specifically for smartphones before the integration of its successor, Honeycomb (3.0) which is specifically made for tablets. This update to the Nexus family has a version number designation of 2.3.x and has the following new features over its predecessor:

UI refinements for simplicity and speed

The user interface is refined in many ways across the system, making it easier to learn, faster to use, and more power-efficient. A simplified visual theme of colors against black brings vividness and contrast to the notification bar, menus, and other parts of the UI. Changes in menus and settings make it easier for the user to navigate and control the features of the system and device.

Faster, more intuitive text input

The Android soft keyboard is redesigned and optimized for faster text input and editing. The keys themselves are reshaped and repositioned for improved targeting, making them easier to see and press accurately, even at high speeds. The keyboard also displays the current character and dictionary suggestions in a larger, more vivid style that is easier to read.

The keyboard adds the capability to correct entered words from suggestions in the dictionary. As the user selects a word already entered, the keyboard displays suggestions that the user can choose from, to replace the selection. The user can also switch to voice input mode to replace the selection. Smart suggestions let the user accept a suggestion and then return to correct it later, if needed, from the original set of suggestions.

New multitouch key-chording lets the user quickly enter numbers and symbols by pressing Shift+<letter> and ?123+<symbol>, without needing to manually switch input modes. From certain keys, users can also access a popup menu of accented characters, numbers, and symbols by holding the key and sliding to select a character.

One-touch word selection and copy/paste

When entering text or viewing a web page, the user can quickly select a word by press-hold, then copy to the clipboard and paste. Pressing on a word enters a free-selection mode — the user can adjust the selection area as needed by dragging a set of bounding arrows to new positions, then copy the bounded area by pressing anywhere in the selection area. For text entry, the user can slide-press to enter a cursor mode, then reposition the cursor easily and accurately by dragging the cursor arrow. With both the selection and cursor modes, no use of a trackball is needed.

Improved power management

The Android system takes a more active role in managing apps that are keeping the device awake for too long or that are consuming CPU while running in the background. By managing such apps — closing them if appropriate — the system helps ensure best possible performance and maximum battery life.

The system also gives the user more visibility over the power being consumed by system components and running apps. The Application settings provides an accurate overview of how the battery is being used, with details of the usage and relative power consumed by each component or application.

Control over applications

A shortcut to the Manage Applications control now appears in the Options Menu in the Home screen and Launcher, making it much easier to check and manage application activity. Once the user enters Manage Applications, a new Running tab displays a list of active applications and the storage and memory being used by each. The user can read further details about each application and if necessary stop an application or report feedback to its developer.

Internet calling

The user can make voice calls over the internet to other users who have SIP accounts. The user can add an internet calling number (a SIP address) to any Contact and can initiate a call from Quick Contact or Dialer. To use internet calling, the user must create an account at the SIP provider of their choice — SIP accounts are not provided as part of the internet calling feature. Additionally, support for the platform's SIP and internet calling features on specific devices is determined by their manufacturers and associated carriers.

Near-field communications

An NFC Reader application lets the user read and interact with near-field communication (NFC) tags. For example, the user can “touch” or “swipe” an NFC tag that might be embedded in a poster, sticker, or advertisement, then act on the data read from the tag. A typical use would be to read a tag at a restaurant, store, or event and then rate or register by jumping to a web site whose URL is included in the tag data. NFC communication relies on wireless technology in the device hardware, so support for the platform's NFC features on specific devices is determined by their manufacturers.

Downloads management

The Downloads application gives the user easy access to any file downloaded from the browser, email, or another application. Downloads is built on an completely new download manager facility in the system that any other applications can use, to more easily manage and store their downloads.

Camera

The application now lets the user access multiple cameras on the device, including a front-facing camera, if available.

It has long been rumored that the Nexus line of phones will be updated ever since the Nexus S was launched. But sadly, nothing came true and the rumors slowly (and painfully) died down. It is only now that the rumors are once again picking up steam as the official Twitter account for the Nexus line tweeted:

Gingerbread (Android 2.3.3) update now rolling out to Nexus S and Nexus One. Be patient, may take a few weeks for OTA to complete. - @GoogleNexus

Hopefullly, just like before, there would be direct links to the update package for manually updating the Nexus phones like what I did to upgrade from Eclair (2.1) to Froyo (2.2).

UPDATE: And just like that, the link is out. Download here.

I just finished creating my own URL shortener and I felt like sharing it with everyone. Innocent Just go to http://andy.ph/shorturl.aspx (or click on the link "Shorten URL" above), enter the long URL and click on the "Shorten" button. The resulting shortened URL will be in the form "http://andy.ph/xxxxx" where "xxxxx" is a randomly generated string. The long URL is kept in the database so that if anyone tries to enter the same long URL, the generated short URL will still be the same if it has been shortened before.

URL Shortenerrrrr... What?

URL shortening is a way of converting very long internet addresses to shorter ones. Why do it? If you are on Twitter, the number of characters is important since you are limited to only 140 characters. If you are to share a very long link, there is a very big chance that someone will get a character wrong and lead to an invalid address. As they say, it is always better to keep it short and simple.

Again, Again, Again

If your question "why do it?" actually meant "why not just use bit.ly or goo.gl or tr.im?" Well, it's because I always wanted to do it, I know I can do it and I just had to do it. Tongue out If ever I get the time, I will try to convert this into a blogengine.net widget or extension so that it can be used by others on their sites too.

Limitations

Currently:

  • Only "http" and "https" are supported.
  • Not a blogenginge.net extension
  • Not a blogenginge.net widget 

NOTE: The URL shortener service will be provided free of charge and will always be that way.

 

If you find any bugs/issues, kindly let me know in the comments yah?