Archive by Author
Facebook’s Haystack

Facebook’s Haystack

Posted 07 April 2009 | By vinu | Categories: Tech Stuff | Comments
Image representing Facebook as depicted in Cru...

Here’s a real interesting article on how Facebook’s handling their photo storage system by creating their own storage system called HayStack.

This week Facebook will complete its roll-out of a new photo storage system designed to reduce the social network’s reliance on expensive proprietary solutions from NetApp and Akamai. The new large blob storage system, named Haystack, is a custom-built file system solution for the over 850 million photos uploaded to the site each month. Jason Sobel, a former NetApp engineer, led Facebook’s effort to design a more cost-effective and high-performance storage system for their unique needs.

Read the article at:  Facebook’s photo storage rewrite.

Haystack

Reblog this post [with Zemanta]
Scienta Zend Framework Debug Bar

Scienta Zend Framework Debug Bar

Posted 31 March 2009 | By vinu | Categories: PHP, Scripts | Comments

Scienta Debug Bar

Scienta ZF Debugbar is a useful tool to add to your sites running on Zend Framework to get server side information of the page being accessed. It’s quite simple to use – just download the code, place it in your PHP include path and use the following code in your bootstrap file to get the debug bar to appear at the end of your page:

$options = array(
   'database_adapter' =>  $dbAdapter, // or array of adapters
   'memory_usage' =>      TRUE, // default value shown
   'collect_view_vars' => TRUE,
   'sort_view_vars' =>    TRUE,
   'show_exceptions' =>   TRUE,
   'handle_errors' =>     FALSE
);
 
$scBar = new Scienta_Controller_Plugin_Debug($options);
$frontController = Zend_Controller_Front::getInstance();
$frontController->registerPlugin($scBar);

The debug bar also gives you quick access to:

  • the variables used in the page
  • errors generated in that page
  • Database queries and time taken (if you’re using the Zend DB libraries)
  • the time taken to execute the script and more.

Get more information on this at the project site: http://jokke.dk/software/scientadebugbar

Reblog this post [with Zemanta]
Jbak TaskMan – Taskmanager for S60 Phones

Jbak TaskMan – Taskmanager for S60 Phones

Posted 05 March 2009 | By vinu | Categories: Software, Symbian | Comments
Task Manager's Interface

Task Manager's Interface

If you’re looking for an advanced task manager for your Symbian phone, you can check out this free and powerful utility called Jbak TaskMan. When you install this utility on your phone, it replaces the default Symbian Task-switcher with it’s own interface which you can configure. You can switch tasks and even kill tasks from this interface, useful when an app hangs and you don’t want to restart the phone to kill it. The screenshot (click to enlarge)  shows the new Task Manager which comes up on the E71 when I installed Jbak TaskMan.

The site for this utility also mentions the other functionality that this utility provides:

  • Ultimate replacement of standard task list, which called by menu-key long press.
  • Customizable quick launch, where you can add program, document, phone number, SMS and e-mail.
  • List of all programs in your phone with quick search by name or UID.
  • List of processes, threads, chunks with quick search.
  • Quick and stable termination of busy tasks.
  • Setup Autorun  programs.
  • Phone reboot.
  • Uninstalling  sis-applications.
  • Info about free memory.
  • Detailed information about runned task, which you can copy to clipboard.
  • Quick task switch by pressing and holding menu-key (Smooth task switch)
  • Remember last-visited position in system phone menu.
  • Detailed setting of menu-key
  • Powerfull possibilities for power and memory saving

Link: http://jbak.ru/jbaktaskman_en.php

TaskMan Menu

TaskMan Menu

Reblog this post [with Zemanta]
Generate data for Database testing

Generate data for Database testing

Posted 10 February 2009 | By vinu | Categories: Databases, Scripts | Comments
(My)SQL geek
Image by lilit via Flickr

How often have you tested your application on your local machine and had it run properly, but when you deploy it and the database starts getting filled up, you start noticing performance problems?
Here’s something you can use to test out your application with databases which are not empty – generatedata.com allows you to define your table structure and the type of data to fill it with. You can export the generated data as SQL (MySQL and Oracle are supported currently)  insert statements or csv which you can import into your databases. The online version allows you to export 200 rows of generated data. If you want larger datasets to be generated, you can download the datagenerator script and run it on your own server.

The best part of the script is instead of generating totally random string or numeric data, you some some semi-realistic data which can be used for testing.

Here’s a sample form I created on the site (click on the image to enlarge):

An Example form -  generatedata.com

The SQL generated from this form:

CREATE TABLE myTable (
  id mediumint(8) unsigned NOT NULL auto_increment,
  id MEDIUMINT default NULL,
  name varchar(255) default NULL,
  city varchar(50) default NULL,
  country varchar(50) default NULL,
  dateofjoining varchar(50) default NULL,
  PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1;
 
INSERT INTO myTable (id,name,city,country,dateofjoining) VALUES ('1','Inez','Muncie','Grenada','2009-04-19 12:55:49');
INSERT INTO myTable (id,name,city,country,dateofjoining) VALUES ('2','Reese','Washington','Suriname','2009-10-17 01:28:15');
INSERT INTO myTable (id,name,city,country,dateofjoining) VALUES ('3','Hope','Edina','Guyana','2008-02-22 10:17:55');
INSERT INTO myTable (id,name,city,country,dateofjoining) VALUES ('4','Cameron','Sister Bay','Malaysia','2008-02-21 01:38:18');
INSERT INTO myTable (id,name,city,country,dateofjoining) VALUES ('5','Zephr','Lebanon','Syrian Arab Republic','2008-12-09 21:40:04');
INSERT INTO myTable (id,name,city,country,dateofjoining) VALUES ('6','Byron','Indio','Afghanistan','2009-03-15 08:50:17');
INSERT INTO myTable (id,name,city,country,dateofjoining) VALUES ('7','Carol','Bay St. Louis','British Indian Ocean Territory','2009-04-16 04:57:43');
INSERT INTO myTable (id,name,city,country,dateofjoining) VALUES ('8','Latifah','Geneva','Albania','2009-08-25 00:14:26');
INSERT INTO myTable (id,name,city,country,dateofjoining) VALUES ('9','Nina','Fall River','Solomon Islands','2009-01-03 21:45:51');
INSERT INTO myTable (id,name,city,country,dateofjoining) VALUES ('10','Jorden','Ardmore','Latvia','2009-01-20 19:31:36');

Get more information at: generatedata.com

generatedata.com

Reblog this post [with Zemanta]
Clean up unwanted files in Ubuntu – BleachBit

Clean up unwanted files in Ubuntu – BleachBit

Posted 04 February 2009 | By vinu | Categories: Linux, Software | Comments

bleachbit

Here’s a software you’d need to clear the unwanted files hiding around your Ubuntu Installation. BleachBit clears up files from your trash, tmp folders, application specific temporary files from Firefox, Java, Open Office  and more. When I ran this on the system the first time, Bleachbit ended up clearing around  188MB of space, pretty good.

This application’s UI is simplistic, allowing you to preview the files which are going to be deleted before actually deleting them. One crib I have is inability to  select individual files to delete or not to delete. You can only remove an application from the delete option.

Download the current version of  BleachBit for your Ubuntu Version and double-click on the downloaded deb file to install. If you want the command line instructions, here they are for Ubuntu 8.10 (intrepid ibex):

wget http://downloads.sourceforge.net/bleachbit/bleachbit_0.3.0-1_all_ubuntu810.deb
sudo dpkg -i bleachbit_0.3.0-1_all_ubuntu810.deb

Once you install it, you can access BleachBit from the Applications>Accessories menu.

Link: BleachBit Project page

Reblog this post [with Zemanta]
Download Ubuntu Pocket Guide and Reference

Download Ubuntu Pocket Guide and Reference

Posted 27 January 2009 | By vinu | Categories: Linux | Comments

Ubuntu Pocket Guide and Reference

If you’re starting off or planning to start off on using Ubuntu, here’s something you should refer to. Ubuntu Pocket Guide and Reference is one book you should check out.

The book is an easy to follow guide which starts you off with how to get and install  Ubuntu on your PC and then goes on to guide you through the basics of the GUI and command line usage. After that you get to learn about how to manage software on your Ubuntu install and securing your system using firewalls and anti-virus. The best part of this book is that you don’t have to be a linux expert to understand it – everything is laid out in simple language.

Here’s the Table of Contents of this book:

1. Installing Ubuntu
2. Configuring Ubuntu
3. Getting to grips with the desktop
4. Users and the filesystem
5. Hands-on at the command-line
6. Software management
7. Securing the system

Ubuntu Pocket Guide and Reference is now available! Written by award-winning author Keir Thomas, Ubuntu Pocket Guide and Reference is a totally unique and concise guide for everyday Ubuntu use.

  • Focuses on core competencies and background knowledge needed to be an expert Ubuntu user;
  • Readable, accessible, and easy to understand—even if you’ve never used Linux before;
  • 100% new and original! Written from the ground-up to cover Ubuntu 8.04 and 8.10.

If you need another excuse to read this book, you can get a free download of the PDF version from the book’s site. If you prefer the print version you can get it for just under $10 from Amazon – Ubuntu Pocket Guide and Reference: A concise companion for day-to-day Ubuntu use

There no more reason for you not to try out Ubuntu now !!

Link: Ubuntu Pocket Guide and Reference Sites

Reblog this post [with Zemanta]
Ease into your News Feeds using Feedly

Ease into your News Feeds using Feedly

Posted 23 January 2009 | By vinu | Categories: General Stuff | Comments

Feedly Interface

If you are spending a lot of time going through your feeds using Google Reader, here’s a firefox addon which you shouldn’t miss out on. Feedly takes your feeds from Google Reader and displays it in a magazine like format. This format’s easier to scan through than Google Reader’s display format.

I’ve been using this for the past 5 days and I haven’t used the Google Reader interface since I installed this. You can share and star your articles from the Feedly interface and any post you read or mark as read from the feedly also are marked as read in Google Reader. Feedly preserves the folders you’ve defined in Google Reader so you can also browse through the feedly interface using your defined folders. The plugin also shows you search results from your feeds when you search for a term in Google:

Feedly Results in Google Search

So if you’re looking at scanning more news sources for your blog or your daily read, try out the Feedly firefox addon.

Link: Feedly

Reblog this post [with Zemanta]
Manage EC2 though AWS Management Console

Manage EC2 though AWS Management Console

Posted 09 January 2009 | By vinu | Categories: Services, Sites | Comments
Image representing Amazon as depicted in Crunc...
Image via CrunchBase

Just got an email from Amazon with their announcement of the beta release of the AWS Management Console. This helps users manage their EC2 resources though an easy to use web interface. No more third party browser addons and custom code to check the status of EC2 instances and playing around with Elastic IPs and EBS. I’m sure everyone’s been waiting a long time for this move from Amazon.

Their new interface is quite a help in getting the regular chores done and taking a look at the current activities on EC2. Here’s how the screen looks when you log in (click on the image for a larger version):

Amazon AWS Management Console

Looks like I’ll be using ElasticFox less after getting used to this clean interface. Here’s what you can do with this version of the console:

  • AMI Management: browse and search AMIs, launch instances from AMIs, deregister and register AMIs
  • Instance Management: launch, reboot, terminate, get console output, RDP/SSH help, etc.
  • Security Group Management: create and delete security groups, add and remove permissions, configure firewall settings, open and close ports
  • Elastic IP Management: create and release IP Addresses, associate IPs to instances
  • Elastic Block Store: create, delete, attach and detach volumes. Take snapshots and manage snapshots.
  • Key Pair management: create and delete public/private key pairs.

Though this initial version does provide all the basic interfaces for managing EC2, Amazon’s got a lot planned out for the AWS Management Console. Here’s what’s coming up in the future:

  • Tagging – Label and group Amazon EC2 resources with your own custom metadata to make it easier to identify and manage your instances, volumes, and other EC2 resources.
  • Monitoring, Load Balancing and Auto-scaling – View real-time monitoring of operational metrics within Amazon EC2, configure load balancing and auto-scaling rules through a web-based UI.
  • Amazon S3 Support – Create and delete Amazon S3 buckets, upload and download objects through your browser, edit permissions, set log data, and manage URLs.
  • Amazon SimpleDB Support – Construct SimpleDB queries through a point-and-click query expression builder and explore your data through a graphical dataset viewer.
  • Amazon SQS Support – Manage your SQS queues, add and retrieve messages from you queues, test and build your applications with help from the AWS Management Console.
  • CloudFront Support – Setup and administer content delivery distributions on Amazon CloudFront using a simple web-based tool on the AWS Management Console.

Links:

AWS Console
Amazon Web Services Blog: Manage Amazon EC2 With New Web-Based AWS Management Console

Reblog this post [with Zemanta]
PHP functions in Javascript using PHP.JS

PHP functions in Javascript using PHP.JS

Posted 08 January 2009 | By vinu | Categories: Javascript, PHP | Comments

PHP.JS Logo

PHP programmers usually have to handle HTML & Javascript front-end coding as well and I’m sure a lot of us have been frustrated with the lack of those easy to use PHP functions in Javascript like those array, encode/decode and string functions. Here’s a Javascript project which provides you just that.

PHP.JS is an open source project started by which aims at providing the standard PHP functions for Javascript development. This eases up programming in Javascript for PHP developers as they can use functions they are familiar with. Currently the project has ported around 230+ PHP functions.

To use this library all you need to do is to download the php.js file and include it in your page:

<script src="/pathto/php.js"></script>

Then use use the function as you would in PHP. For example if you want to use the urlencode function in Javascript, just use it like this in Javascript

urlencode('http://blogs.vinuthomas.com/');

This should return ‘http%3A%2F%2Fblogs.vinuthomas.com%2F’. As easy as that !

Edit: As Kevin mentioned in the comments below, don’t use the entire php.js file in your projects, just use the function you need.

History of PHP.JS from (phpjs.org):

A developer called Kevin van Zonneveld was once working on a project with a lot of client(JS) / server(PHP) interaction, and he found himself coding PHP functions (like base64_decode & urldecode) in JavaScript to smoothen communication between the two languages.

He stored the stored the functions in a file called php.js which was included in the project. But even when the project was done, it remained fun trying to port PHP functions to JavaScript and so the library grew.

Kevin decided to share the little library online, which triggered the enthusiasm of a lot of PHP developers longing for PHP functionality in JavaScript. The project was open sourced in 2008, and many people contributed their own functions in the comments sections of Kevin’s blog.

It was decided that the library deserved a bigger home, and a face of its own, and so the PHP.JS core team (which at that time also consisted of Michael White, Felix Geisendörfer, Philip Peterson) developed the phpjs.org website

Links:
PHP.JS Home Page
List of Functions available in PHP.JS
Download PHP.JS

Reblog this post [with Zemanta]
Blog from your Ubuntu Desktop

Blog from your Ubuntu Desktop

Posted 06 January 2009 | By vinu | Categories: Linux, Software | Comments
Ubuntu logo

There is a small utility in Ubuntu called Gnome Blog which allows you to blog directly from your desktop. If you are running firefox on Ubuntu, click on this link to install the package or enter the following command in your terminal

sudo apt-get install gnome-blog

Once installed, right click on an empty area on your panel and add “Blog Entry Poster”. Once you’ve added this click on it to start the app. First time you run, you’ll be prompted to enter details about your blog.

gnome-blog-settings

First select your blog type – Blogger, Wordress, LiveJournal and MovableType are all supported here and a few more. For Wordpress blogs, enter your blog’s URL and username and password and you’re all set to go.

gnome-blog-posting

Once you’ve set it up properly, you can start your blog post by just clicking on the Blog button on your panel.

Reblog this post [with Zemanta]