Firefox 10 Now Available

Firefox has been cranking out updates faster than a speeding bullet. It seems like it was only last year, we were using Firefox 3.6, then 4, 5 and now Firefox 10. Give it a year or so, Firefox 20 will be out. So, what’s new with Firefox 10?

There’s a new forward button that doesn’t show up until you actually need it, a full screen API that allow you to build a web application that runs on full screen, an anti-aliasing for WebGL is now implemented, and CSS3 3D-Transforms are now supported.

These are just a few of the latest features of the famous Mozilla browser. You can check out the release notes yourself. Better yet, download the new Firefox 10 browser, and try it out yourself.

Multiple Columns in HTML5 and CSS3

Creating a multiple column pages is so much easier now with HTML5 and CSS3 than was previously possible. Consider if you have a page with 200 unordered lists. The HTML markup for this would be something similar to this:

Unordered List

and so on….

As you’ve noticed, I’ve abbreviated the markup. The page rendered will be long. It will take some scrolling down to get to the bottom of the page. The obvious solution for this page layout is to display the data in multiple columns.

Displaying two to three columns is ideal. You can add more if you like. It really depends on how you want to layout your page. How do we add multiple columns on our pages? It’s quite easy. You’ll be surprised how simple it is.

First, let’s add a class div to our markup. In this example, we will call our div “data.” Our markup will now look like the example below. It’s relatively unchanged, except for the div we’ve just added.

HTML5 Markup

<div class=”data”>
and so on….

CSS3 Markup

The magic is really in CSS. It’s ideal to place a width in your class div, unless your class div is already inside another div that already has a width limit. We can then set a limit how wide we want our columns widths and column gaps.

I’m using a div with a width of 500px because it goes well with the 150px columns widths and 25px column gaps. You probably already guessed, the column widths are how wide the columns are, and the gaps are the spaces between column widths.

.data {
  -webkit-column-width:150px ;
  -moz-column-gap: 25px;
  -webkit-column-gap: 25px;

Give It A Try

Give it a try. Adding multiple columns in HTML5 and CSS3 is much easier than was previously thought. Create a simple page with some sample data. Add a class div and use the CSS3 multiple column styles to it.


The code has been tested with Mozilla Firefox, Google Chrome and Apple’s Safari. I haven’t tested it with any Internet Explorer. I’ll be curious if it works with IE 7, 8 or 9.

Here’s a demo of a page using the multiple columns.

Demand For Mobile Developers

The number of users accessing the Internet will double by 2016. The driving force behind the numbers are the emerging markets. Most of these new users will access the web via mobile phones.

Currently, there are 3 billion Internet users, according to Google. There are 200 million new Internet users every year. About 80% of the new users access the web via mobile phones.

What this means is, there are plenty of opportunities for mobile developers. Remember the good old days when blocks of ice were sold by the thousands by ice manufacturers. They made a handsome profit back then.

But, the arrival of the refrigerator forever changed the landscape. Companies simply folded and moved on to something more profitable. It will be the same story for many technologists today.

The shift is on. Mobile development will be on the rise. There will be a huge demand for mobile developers. It’s time for many of us to change gears.

Obi110 With Google Talk

I ordered the Obi110 from Amazon last week. Today, it finally came. For those not familiar with the Obi110, it’s an analog terminal adapter (ATA), from Obihai Technology. It allows you to use old analog phones to make free phone calls to anyone via the Internet using Google Voice.

With the Obi110, I can use Google Voice or any SIP service or provider such as Callcentric, Sipgate, Vitelity or to make phone calls anywhere. Any old analog telephone will work. There is no need for a computer or a softphone.

The Obi110 is a standalone device that’s connected to your home network. When you make a call, your call will be routed via your network and out to the internet. Pairing the Obi110 with Google Voice is ideal, since Google Voice allows you to make free phone calls to any landline or mobile phone in the United States or Canada.

When I received the device about an hour ago, all I had to do was register the device at Obihai’s website. I added Google Voice in the configuration. The setup was relatively easy. The Obi110 costs about $50.00. It’s one time fee. There are no monthly fees, no taxes, no surcharges.

Google Voice is currently free, until Google changes its mind. If you’re not convinced about Obi110, check out the great reviews of this product at Amazon. In addition, here’s a couple of great Youtube videos for your viewing pleasure.

Obi110 Review

This is a great review of the Obi110 device. It contains all the info you need to familiarize yourself with the device. The reviewer doesn’t really start talking about the Obi110 until about 4:15. You can probably skip the first 4 minutes.

How to Setup the Obi110

The Setup of the Obi110 was super easy. It’s intuitive. I didn’t even read the instructions. Less than 5 minutes later, I was making phone calls.

What’s next?

I will probably cancel my Vonage and MagicJack subscriptions. Vonage is great, but not at $30 a month. I also have the old MagicJack model which I will not renew. The older MagicJack I have still needs a computer, plus it’s about $40 a year.

With Google Voice and the Obi110 ATA, my monthly phone service cost me nothing. The price is right, it’s zero, zilch, nada, as long as Google keeps their end of the bargain.

The real challenge is trying to port my Vonage number to Google Voice. It’s going to be a lengthy process to port my number. I have to port the Vonage number first to a wireless carrier, then port it again to Google Voice. I can’t port directly from Vonage to Google. Google charges $20 to port a wireless number.

Keep The Web Open

Most agree piracy is bad for business, but laws should not be passed at the expense of freedom, liberty and openness of the web. Most Internet users and web entrepreneurs oppose SOPA (Stop Online Piracy Act) and PIPA (Protect IP Act).

SOPA and PIPA might slow down some form of piracy, but it won’t get rid of it completely. The effects of SOPA and PIPA, if passed however, will forever change the way you deal with the Internet.

SOPA and PIPA will stifle innovation, cripple technology and shackle the medium for ideas and opportunities, the Internet.

Tell Congress that you oppose this bill.

Sign the petition here.

Vote No on SOPA and PIPA.

Fix Ubuntu Sound With Module Assistant

I lost the sound on my Ubuntu desktop earlier tonight. I’m not exactly sure what caused it to stop suddenly. Anyhow, here’s the fix. I’m running Ubuntu 10.04 LTS. I did a little digging around and found one great solution that I would like to share. I’m sharing it, so others can benefit as well.

The solution needs the help of module-assistant, a command-line tool for handling module-source packages specifically for Debian-based distros, which Ubuntu is. Module-assistant will help users build and install module packages for custom kernels.

To apply the fix, you must first install Module Assistant. The command line is abbreviated as m-a. You will need to run update first, followed by prepare, and then run the auto-install of the alsa sound drivers. The series of commands below should do the trick. You will need to reboot after the install.

sudo apt-get install module-assistant
sudo m-a update
sudo m-a prepare
sudo m-a a-i alsa

Buffalo Airstation WHR-HP-G300N

The Buffalo Airstation WHR-HP-G300N is a high-powered Wireless-N access point and router. It’s capable of transfer speeds up to 300Mbps. It operates at 2.4Mghz and comes with 4 Ethernet/Fast Ethernet ports. The firmware is powered by open-source DD-WRT.

So, I bought three Buffalo WHR-HP-G300N wireless routers for a client about a month ago hoping they would be a great addition to a list of reliable and stable access points that I will be maintaining. I ended up returning two of them due to issues with the signals that were dropping out after about a day or two.

I kept one router for testing purposes. I left the router running for about a week or so. I noticed that the wireless signal would disappear after about a day. I had to reboot the access point to get it working again.

I’m very disappointed about the wireless router being unstable. The wireless signals would disappear after a period of time. I went to Bufallo’s website and downloaded the latest driver. The page indicates that the latest firmware, although Alpha, V24SP2 17798 Alpha, is dated at Dec 5, 2011.

The firmware that came with my unit is the latest professional version, V24-SP2 build 17135, which is built on June 6, 2011, which is the one having all the issues. I had no choice but to try the latest version, although it is alpha.

Suffice to say, after the firmware upgrade, the wireless signal has been stable. No drops. No reboots needed. The WHR-HP-G300 has been running for almost a week now. It seems that Buffalo has fixed the issues with the signal drops.

If you’ve purchased the Buffalo Airstation WHR-HP-G300N and you are having issues, you might want to consider upgrading to the latest firware, V24SP2 17798 Alpha, dated Dec 5, 2011.

Ubuntu Remove File Association

Removing file association in Ubuntu drove me crazy for a while. Although I already removed the Bluefish editor from my desktop, the file associations were still there. Right-clicking a file and removing the file association didn’t work for me. I even deleted the .bluefish directory in my home directory hoping that it would remove the file associations, but the associations were still lingering.

As it turns out, the file associations can be removed by accessing the ~/.local/share/applications directory and removing the files that needed deletion. In my case, there were 3 Bluefish files that needed to be deleted. Credits to Long Term Storage for the tip.

Remove File Associations

From the Terminal, type the following:

cd ~/.local/share/applications

View the file associations

ls -al

Remove the file association that you want deleted. In my case, I had to delete the Bluefish associations.

rm bluefish.desktop bluefish-project.desktop Bluefish Editor.desktop

As it turned out, removing file associations in Ubuntu is way easier than I thought it would be. That is it.

ICANN To Open Up Top Level Domains

ICANN plans to open up generic top level domains next year. Currently, there are only 22 top level domains such as: .com, .net, .org, .gov, .edu, .info, etc. Of course, this list does not include the individual domains for each country such as .uk, .ru, .ch, .mx, and .be to name just a few.

With the new generic top level domain, companies should be able to register their own brand TLDs, promote their products, and foster innovation. We will probably see some pretty awkward looking TLDs sometime next year that resembles more of the following: .apple, .intel, .dell, .ibm, etc.

Somehow, this doesn’t just seem like a valid URL.

I think it will take some getting used to, seeing all the different odd-looking TLDs in the near future. I just wonder if they will open up TLDs to individuals as well. How much do you think it will cost to get your own TLD?

As a programmer, I already know, there will be thousands of PHP scripts that are going to be broken. They need to be updated if they filter input only with the current TLDs.

It should be interesting year.

Use Nmap To Scan Your Network

The Nmap utility will scan devices connected to your network. Nmap is a free open-source utility used by network admins and anyone to explore, scan, secure and audit the network. For example, if your internal network is network, you can use the following Nmap options to scan your network.

nmap -sP

The command above produces the following output:

As you can see, the nmap utility has found 8 devices connected to my network. It usually takes 30 seconds or so to scan the entire network. With the available data, I can now ping, ssh, or view the device via web browser if that service is available. Nmap makes troubleshooting the network that much more easier.

Just like most Linux utilities, nmap has a ton of options worth checking. Simply type -- help to read more options.

nmap --help

If you are a Windows user, the nmap utility is available for download.

For Ubuntu users, simply type the following to install

sudo apt-get install nmap