Delicious Acquired by Avos

Yahoo announced tonight that Delicious is being acquired by Avos. Here’s the email announcement sent to all Delicious users.

Dear Delicious User,
Yahoo! is excited to announce that Delicious has been acquired by the founders of YouTube, Chad Hurley and Steve Chen. As creators of the largest online video platform, Hurley and Chen have firsthand expertise enabling millions of consumers to share their experiences with the world. Delicious will become part of their new Internet company, AVOS.

To continue using Delicious, you must agree to let Yahoo! transfer your bookmarks to AVOS. After a transition period and after your bookmarks are transferred, you will be subject to the AVOS terms of service and privacy policy.

Ubuntu 11.04 Natty Narwhal Is Ready

If everything goes according to plan, Canonical is set to release Ubuntu 11.04 Natty Narwhal tomorrow, April 28. There will be some drastic changes to the desktop with Unity replacing Gnome 3 as the graphical environment. LibreOffice is also replacing OpenOffice for the Office productivity tools. In addition, Ubuntu is also set to release the Ubuntu Server, Xubuntu, Kubuntu among others.

It should be a fun day tomorrow. I will be downloading and installing 11.04 on a virtual machine. By the way, I have been using Unity on my Ubuntu 10.04 desktop system for several days now to get a head start with Unity. I can’t wait to get my hands on Natty Narwhal to see the latest and greatest from Ubuntu.

Angry Birds Owes iPhone

Rovio’s highly popular game Angry Birds has been downloaded 140 million times since its first release 16 months ago. Rovio can thank the iPhone for paving the way for its high popularity. Part of the appeal for the game is the game’s simplicity. It’s a simple idea of knocking down structures and solving a puzzle. It has enough challenge to make it interesting for kids and adults.

The other factor for its popularity is the price. The game is a mere $5 to download. It’s peanuts compared to highly-priced games available for the XBox 360 and PS2. The follow up Rio version sells for only a dollar. Rovio is also available for Android, Windows and Playstation. Where’s the love for Linux? In addition, Rovio is now pushing the game to China.

Rovio can thank the iPhone and its App Store partly for its success.

My First Impressions of Unity

The neat thing about Linux is you can test certain features of the distribution before they become part of an official release. Unity is such a case. You can install and play around with it before it hits the store. So to speak. Unity is the future default desktop environment for Ubuntu starting with Ubuntu 11.04 Natty Narwhal. It will replace the the steady and unflappable Gnome 3.

My first impressions were not good. Although navigation and the overall feel of Unity were very positive, I had one big issue. Opening any of the new browsers (Firefox or Chrome) in full screen mode, resulted in a blank white screen. Minimizing the browser seem to work.

So, I abandoned Unity, swearing it still needed a lot of work. After all, Unity is still under development, just to be fair. A few weeks later, I came back to Unity. The full screen browser mode seems to be fixed. Now, I can really test this new desktop/netbook environment.

Working with Unity is like driving a new car, and driving on the left side of the road at the same time. It takes a whole lot to getting used to. One major impression I got with Unity is, it really is geared towards netbooks. Every application seem to start in full screen mode. This is fine if you own a netbook.

If you have a desktop, applications tend to be stretched out. I have a desktop with lots of screen real estate. I don’t need every application to start in full screen mode? And where is the minimize button when you need one?

It’s going to take a while to get use to Unity. It has its advantages. Switching applications seems to be easier. The icons of every active application are laid out on top of the bar. Clicking on any of the icons switches the user to that application. Clicking the Ubuntu icon clears the screen and displays the Unity menu.

After a few hours with Unity, I miss Gnome badly. I’m lost at times, and that happens in a new environment. I will test it for a few days, perhaps two weeks before coming down with a final verdict.

Adding FULLTEXT Search

A few days ago, I wrote an article on how to add a search feature in CodeIgniter projects. The method I used was “Pattern Matching” using SQL’s LIKE statement. Although the LIKE statement works great, it is slow. The search will crawl in situations where there are millions of rows in a table.

An alternative method is using a FULLTEXT index search. It uses SQL’s MATCH AGAINST. To start using a FULLTEXT search, a database table will need to be indexed first. You can accomplish this by altering a table and adding FULLTEXT indexing to certain fields:

Alter Table

ALTER TABLE books ADD FULLTEXT(bookname,author,characters,synopsis);

Once a table has been indexed, you can start using MATCH AGAINST.

Match Against

I tried using CodeIgniter’s active record and MATCH AGAINST, but I could not get them to work. So, I ended up writing out the SQL statement using $this->db->query.

$match = $this->input->post('search');
$searchcount = $this->db->query("SELECT * FROM books WHERE MATCH 
  (bookname,author,characters,synopsis) AGAINST ('.$match.')");

So, if you want to increase search performance, consider using a FULLTEXT search.

JSColor Is The Best Color Picker

Javascript color pickers are fun. They make picking colors on web forms an easy task. One of my favorite color pickers is called JSColor. I like it for its simplicity. It’s easy to install and use. It’s also elegant.

To use JSColor, just download the source and paste this code in your pages:

<script type="text/javascript" src="jscolor/jscolor.js"></script>

Add the “color” class to your input tag:

<input class=’color’/>

And you’re done. Simple.

This is the main reason why I rated JSColor the best Javascript color picker.

See the demos here.

Amazon’s Black Eye

When I saw an article yesterday that Amazon had a problem with their cloud services, I dismissed it as something temporary, something that can be fixed, in perhaps in several minutes, in maybe an hour or two. But when the news today surfaced that Amazon was still struggling to get several hosted sites online, I started to wonder what in the world was happening with the cloud. The cloud was supposed to be this super, highly redundant. highly resilient system. Maybe it isn’t.

Foursquare, Quora, Reddit and a host of other social websites rely a great deal on Amazon Cloud Services to serve their content. Maybe, it helps to have yet another option, just in case Amazon, or any other the cloud provider stumble as we’ve seen these past two days. The fact is, the cloud is not quite perfect. They may promise 5 nines, but we all know its not a 100% proof. The downtime alone, the past two days, have already made a big dent towards reaching the metric. So what are the lessons learned for many online companies who depend much on the cloud?

Should these companies have another backup plan in case the cloud fails?

Adding Search to CodeIgniter Projects

This is a little tutorial that will add a Search function to your CodeIgniter projects. As you may already know, CodeIgniter is a PHP Framework that uses the MVC model. MVC stands for Model, Views and Controller. This article assumes you’ve work with CodeIgniter before and that you are looking for a search feature that you can add to your application. To add the search feature, we will get started with the Controller.

Controller

This is assuming you already loaded your libraries, helpers and database model. Lets add the Search function.

function search()
{
$data['query'] = $this->Books_model->get_search();
$this->load->view(‘books’, $data);
}

Model

In this database query, I am searching for any matches in any of the 4 fields: bookname, author, characters and synopsis. If there are matches, it will return the results.

function get_search() {
  $match = $this->input->post(‘search’);
  $this->db->like(‘bookname’,$match);
  $this->db->or_like(‘author’,$match);
  $this->db->or_like(‘characters’,$match);
  $this->db->or_like(‘synopsis’,$match);
  $query = $this->db->get(‘books’);
  return $query->result();
}

Views

Here’s the search form.

<?=form_open(‘books/search’);?>
<?php $search = array(‘name’=>’search’,'id’=>’search’,'value’=>,);?>
<?=form_input($search);?><input type=submit value=’Search’ /></p>
<?=form_close();?>

The result can be displayed using a HTML table.

<table>
<tr><th>ID</th><th>Book</th><th>Author</th><th>Published</th><th>Price</th></tr>
<?php foreach($query as $item):?>
<tr>
<td><?= $item->id ?></td>
<td><?= $item->bookname ?></td>
<td><?= $item->author ?></td>
<td><?= $item->datepublished ?></td>
<td><?= $item->price ?></td>
</tr>
<?php endforeach;?>
</table>

Let me know what you think.

Back with Arial

Ok. I’m officially back with Arial. I have been using Google Fonts, the Ubuntu font, for over a year. I’ve used it with the main text and headers. No complaints here. Performance has been very good. I tried using other Google fonts, but I just didn’t liked any of them. I’ve look into using the TypeKit fonts. My pageviews is way over the 25k per month for the free Trial Library service. I’m just slightly over the Personal Library. So if I were to join, I would have to get a Portfolio with its Full Library for $50 a year. It comes down to about $4 a month. It’s still not bad. But, Google Fonts is free. That’s the reason I was using it for a while. So, now I’m back to good old lean mean Arial. Just a change of scenery. Something different. I might try a different font later on.

HP Pavilion p6710f for $390

If you are looking for a fairly decent desktop system, and you happen to be near a Micro Center store, you should look into the HP Pavilion p6710f that’s on sale for just $390. The p6710f is powered by AMD Athlon™ II 640, a quad core processor.

It comes with 4GB DDR3-1333 RAM, 1 TB 7,200 RPM hard drive, an ATI RadeonTM HD 4200 display card, and powered by Microsoft Windows 7 Home Premium (64 bit). You can review all the details of the p6710f at Micro Center’s website. I think it’s a great deal.

I would get this if I were looking into buying a new system, but I already own a AMD Athlon™ II 640 system. I could use more memory and a better graphics card, but this system for the price is a great deal.