Thursday, January 23, 2014
Moving an ecommerce site to Amazon Web Services
Saturday, May 5, 2012
Mounting a aws instance into Nautilus in ubuntu
Although, Nautilus provides a "Connect to Server" option, and you can bookmark it as well, the trick/issue is that with aws instances you are dealing with private/public key authentication, not password based authentication.
For some reason the "Connect to Server" option doesnt allow you to embed a public key and therefore that authentication method doesnt work through in that case.
After quite a bit of research and googling, I had to put this question up on stackoverflow.com where, I got a prompt and sweet response.
The trick was to use the .ssh/config file and to create an alias there, specifying the identity file, and then onwards, there is no challenge to a ssh or sftp call, since ssh routes it through the config file automatically.
Here are the sample contents of the .ssh/config file that worked for me -
With this in place, its possible for me to have a bookmark and clicking on that just opens the target location (like a mount point). Sweet little trick, and makes me like ubuntu a bit more...Host {alias} HostName {hostname or IP address} User {username to log in with} IdentityFile {path to abcd.pem}
Thursday, February 2, 2012
And now.. a Solar Powered ubuntu laptop...
check out his concept here...
http://nrutledge.blogspot.com/p/ubuntu-laptop-concept.html
Monday, July 25, 2011
Switching defaults in Ubuntu
You can have the default open jdk installed, and then you can actually have the Sun version installed.
For example, to see what alternatives are installed for your software, try going to /etc/alternatives. Here you'd see many pieces of software with alternatives listed.
With these software installed, you would need to point your system to use one of them as the default, this is important especially after installing a newer version of the software.
In such a case, to switch the alternatives, you need to use this
sudo update-alternatives
If you do a man on update-alternatives, there is a plethora of options to use.
For our example, to configure the default for java, use this
sudo update-alternatives --config java
Thursday, September 30, 2010
my experiments with solr :)
I came across hadoop, when I was looking for a new solution for one of our in-house projects. The need was quite clear, however, the solution had to be dramatically different.
The one statement we received from business was, "We need an exceptionally fast search interface". And for that fast interface to search upon they had more than a hundred million rows worth of data in a popular RDBMS.
So, when I sat about thinking, how to make a fast search application, the first thing that came to my mind was, Google. Actually, whenever we talk about speed or performance of web sites, Google is invariably the first name that comes across.
Further, Google has a plus point that there is always some activity at the back end to generate the page or results that we see, its never static content. And, then, another point, Google has a few trillion pieces of information to store/index/search whereas our system was going to have significantly lower volume of data to manage. So, going with that, Google looked like a very good benchmark for this fast search application.
Then I started to look for "How Google generates that kind of performance". There are quite a few pages on the web talking about just that. But, probably none of them has the definitive/authoritative view on Google's technology or for that matter the insider's view on how it actually does what it does so fast.
Some pages pointed towards their storage technology, some talked about their indexing technology, some about their access to huge volumes of high performance hardware and what not...
For me, some of them turned out to be genuinely interesting, one of them was the indexing technology. There has to be a decent indexing mechanism to which the crawler's would feed and the search algorithms hit. The storage efficiency is probably the next thing to come in the play. How fast can they access the corresponding item ?
Another of my observation is that, the search results (the page mentioning page titles and stuff) comes real fast, mostly less than 0.25 seconds, but the click on the links does take some time. So, I think it has to be their indexing methodology that plays the bigger role.
With that in mind, I sat about finding what can do similar things and how much of Google's behaviour they can simulate/implement.
Then I found Hadoop project on apache (http://hadoop.apache.org/) which to a large extent reflects the way Google kind of system would work. It provides distributed computing(hadoop core), it provides a bigTable kind of database (hbase), provides map/reduce layer, and more. Reading into it more, I figured out that this system is nice for a batch processing kind for mechanism, but not for our need of real time search.
Then I found solr(http://lucene.apache.org/solr/), a full text search engine under Apache Lucene. It is a java written, xml indexing based genuinely fast search engine. It provides many features that we normally wish for in more commercial applications, an being from apache, I would like to think of it as much more reliable and stable than compared to many others.
When we sat about doing a Proof of Concept with it, I figured out a few things –
• It supports only one schema, as in, rdbms tables – only one. So, basically you would have to denormalize all your content to fit into this one flat structure.
• It supports interactions with the server interface only through http methods be it the standard methods get/put etc or be it REST like interfaces.
• It allows you loading data in varying formats, through xml documents, through delimited formats and through db interactions as well.
• It has support for clustering as well. Either you can host it on top of something like hadoop or you can just configure it to do it within solr as well.
• It supports things like expression and function based searches
• It supports faceting
• Extensive caching and “partitioning” features.
Besides other features, the kind of performance without any specific tuning efforts made me think of it as a viable solution.
In a nutshell, I loaded around 50 million rows on a “old” Pentium-D powered desktop box with 3 GB RAM running ubutnu 10.04 server edition (64 bit) with two local hard disks configured over a logical volume manager.
The loading performance was not quite great. Though its not that bad either. I was able to load a few million rows (in a file that was sized about 6 GB) in about 45 minutes when the file was on the same file system.
In return, it gave me query performances in the range of 2-4 seconds for the first query. For subsequent re-runs of the same query (within a span of an hour or so), it came back in approx 1-2 milliseconds. I would like to think that its pretty great performance given the kind of hardware I was running upon, and the kind of tuning effort I put in (basically none – zero, I just ran the default configuration).
Given that, I wont say that I have found the equivalent or replacement of Google’s search for our system, but yeah, we should be doing pretty good with this.
Although there is more testing and experimentation that is required to be able to judge solr better, the initial tests look pretty good.. pretty much in line with the experiences of others who are using it.
Thursday, May 6, 2010
Ubuntu 10.04 is here.... Upgrade today...
Its only been a few hours since I have had the pleasure to upgrade to the latest version of Ubuntu.
And without any doubt, or any detailed analysis/investigation I can say this much for sure -
- The upgrade process was super easy. No hassles whatsoever, you just need to have a decent internet connection, few times you need to confirm the suggested decision, and done...
- The new system looks cleaner, much much cleaner. Its neat, to some extent beautiful. Its not about the background or themes or anything like that, but the overall look and feel is genuinely cool. Perhaps its to do with one thing that I have done on my part. My system font is "Lucida Grande" all across. And, for some reason the shapes and looks on this font are far better than anyone else I have encountered.
- The boot time has come down a good notch.
Well, I guess this should be a good starting point for my review on the new version, lets see how it comes across further.
Friday, January 2, 2009
Changing System name in Ubuntu
Therefore, I now thought of renaming my system to separate it from the os versions. This is so very simple to achieve in Ubuntu -
just edit the file /etc/hostname (owned by root, therefore use sudo). Put in the new name, and restart the system.
However, the consequences of this name change will have to be reflected across the network (if you have one). Hostname files on all other systems or dns entries will have to be updated to reflect the new system name.
Thursday, December 4, 2008
Finally... IE on Linux / Ubuntu...
Initially, when I needed to run a few IE specific sites on my Ubuntu installation, I spent quite some time searching around google, and some more prominent linux sites... But I did not hit success...
Today however, my search bore fruit... I found IEs4Linux project, and its so damned simple.
I am still running Hardy (not Interpid) on my desktop, and wine (the default). I picked up the instructions, kind of updated them myself to work in my hardy, and bingo.. it installed and works...absolutely.
Here's what I did -
- Found this page for installation instructions on Ubuntu :
http://www.tatanka.com.br/ies4linux/page/Installation:Ubuntu - Run the following commands -
sudo apt-get update
sudo apt-get install wine cabextract- And then run this -
wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
tar zxvf ies4linux-latest.tar.gz
cd ies4linux-*
./ies4linux- The last one would open a dialog box and would ask you basic questions about what version do you want, choose what u like and bingo.. it would start installation...
- Within minutes, it automatically downloads some files from here and there, and is done.
- It just works...
Thursday, May 8, 2008
xgl - System monitor bug in hardy...
The system monitor carries on a bug in xgl package wrt incorrect reporting of memory usage, and shows processes using zillion bytes of memory.
I started using xserver-xgl from the times in Gutsy when Compiz would not run on my hardware without that. However, I didnt quite notice this until I involved myself with beta release of hardy.
As it happened, I raised this issue on the Ubuntu forums (more than once actually, link-1, link-2), and finally after a few discussions/posts, it was discovered that
- xserver-xgl has a few bugs
- no more active development is happening on this stream of packages
- Compiz should work without needing this package as well.
Attaching two screenshots here to give the idea of the Martian numbers...

Monday, May 5, 2008
acid3 and webkit on hardy
I dont have a mac so I cant really experience it first hand, but the windows release of Safari made me get my first experience.
This weekend, I was surfing net when I came across "webkit". Reading a bit more about it informed me -
WebKit is an open source web browser engine. WebKit is also the name of the Mac OS X system framework version of the engine that's used by Safari, Dashboard, Mail, and many other OS X applications. WebKit's HTML and JavaScript code began as a branch of the KHTML and KJS libraries from KDE. This website is also the home of S60's S60 WebKit development.This made me think, if its actually open source to start with, the code must be available and may be I can compile it for my system.
Well, I didnt had to look much further... search produced this link...
http://blog.kagou.fr/post/2008/04/21/Test-Webkit-on-Ubuntu-Gutsy-and-Hardy
However, my first attempt at compilation failed, due to lack of one of the packages. libxt-dev
So, now the list of pacakges that should be installed on hardy to compile webkit would look like this :
sudo apt-get install autoconf automake libtool bison flex gperf libicu-dev libxslt-dev libcurl4-openssl-dev libsqlite3-dev libjpeg62-dev libpng12-dev libglibmm-2.4-dev libgtk2.0-dev build-essential libxt-dev
The sample browser, gives me 98 on acid3 (acid3.acidtests.org). Though very minimalistic in capabilities, this is the best score for acid3 that I could get on my system.
Here are my scores
Firefox 3 beta 5 : 71
Flock : 51
Opera 9.5 beta 2 : 78
Midori (webkit based) : 64
Webkit minimal browser (nightly build r32862 ) 98
On my windows partition as well, none of the browsers went beyong 70's. Best being opera at 71.
Saturday, May 3, 2008
Linux Kernel sites...
Linux Kernel Newbies
Also interesting would be to watch out for this site... www.kernel.org
Tuesday, April 29, 2008
making vmware work on hardy..
Careful looking up found out two things,
- the new beta version (2) of vmware works from web based console, and could take quite some time making it work
- vmware on hardy 64 bit requires some tweaking to do before you can really get up and running with it.
Loads of thanks :) to http://ubuntuforums.org/showpost.php?p=4357442&postcount=10
Tuesday, April 22, 2008
25 reasons to use Ubuntu... :)
Some might not be as 100% agreeable as other might be, but still most are completely agreeable...
Well done...
Found it on this blog-... here u read 25 reasons for using Ubuntu
Monday, April 21, 2008
converting .img to .iso and mounting iso
Many tools, like virtual box allow mounting .iso files as a virtual cd/dvd. Ubuntu repositories provide a tool called ccd2iso for converting the .img to .iso.
just install ccd2iso from the repositories using
sudo apt-get install ccd2iso
Once installed, just launch it for converting
ccd2iso file.img file.iso
This will create the iso equivalent of the img file.
To mount the iso file normally in the linux environment, just type
mount -o loop -t iso9660 filename.iso /mnt/iso
Sunday, April 20, 2008
Experiments With Hardy...
Last friday the release candidate of the new Hardy came out. It was beta for sometime now, and I had it for a few days in beta phase too..
It was my first time playing around with an OS in its beta stage and sure.. it feels good to be involved..
I found a few things, suggested on the forums, put out bug reports and it all works so nicely. Everybody involved is so open and helping... it was actually very nice exp. A good learning curve as well for a few things... :)
Currently there are a few things still going on with the "Hardy Release Candidate" with differing opinions, but all in all it looks like a good package to me. On my laptop, it works nicely, no issues as such...
In my view, the Ubuntu series has had its share of issues with hardware compatibility. With different people using different set of hardware, it turns out that not everything is 100% picked up by the installer as it should be.
I tried using virtualbox on hardy to install another copy of hardy 64 bit to experiment something, however, virtualbox wont allow that !! People on the ubuntu forums suggest that it could be a "feature" of vbox not to support 64bit cpu as of now... That would be a shame, actually... :(
Checking out vmware has been another shock. Earlier it used to be "FREE" for Linux, however now its only 30day evaluation version. Sounds like just another corporate, not a company supporting open source...
On the 64 bit point, I am really thinking of going 64 bit completely... all out... I have tried it for a few weeks now, and for me its been no problems at all... and the support for packages etc is fine for my needs... Yeah, some more programs need to be compiled by hand, but thats ok for me... :)
Ubuntu directory structure...
The root of the tree is called "root directory" here and is the top level directory, and all its subdirectories make up the directory hierarchy. This is different as compared to Windows wherein there are drives. Especially diff since each diff hardware device has its own dir tree with its own root directory. In Unix there is only one root dir. Everything else, falls under that tree...
Here's a summary of the standard directories found on a typical Unix/Linux system. Current reference being Ubuntu.
- /bin - binary applications (most of your executable files)
- /boot - files required to boot (such as the kernel, etc)
- /dev - your devices (everything from drives to displays)
- /etc - just about every configuration file for your system
- /etc/profile.d - contains scripts that are run by /etc/profile upon login.
- /etc/rc.d - contains a number of shell scripts that are run on bootup at different run levels. There is also typically an rc.inet1 script to set up networking (in Slackwar), an rc.modules script to load modular device drivers, and an rc.local script that can be edited to run commands desired by the administrator, along the lines of autoexec.bat in DOS.
- /etc/rc.d/init.d - contains most of the initialization scripts themselves on an rpm-based system.
- /etc/rc.d/rc*.d - where “*'’ is a number corresponding to the default run level. Contains files for services to be started and stopped at that run level. On rpm-based systems, these files are symbolic links to the initialization scripts themselves, which are in /etc/rc.d/init.d.
- /etc/skel - directory containing several example or skeleton initialization shells. Often contains subdirectories and files used to populate a new user’s home directory.
- /etc/X11 - configuration files for the X Window system
- /home - locally stored user files and folders
- /lib - system libraries (similar to Program Files)
- /lost+found - lost and found for lost files
- /media - mounted (or loaded) devices such as cdroms, digital cameras, etc.
- /mnt - mounted file systems
- /opt - location for “optionally” installed programs
- /proc - dynamic directory including information about and listing of processes
- /root - “home” folder for the root user
- /sbin - system-only binaries (see /bin)
- /sys - contains information about the system
- /tmp - temporary files
- /usr - applications mainly for regular users
- /var - mainly logs, databases, etc.
- /usr/local/bin - the place to put your own programs. They will not be overwritten with upgrades.
- /usr/share/doc - documentation.
Friday, April 18, 2008
Get rid of the Ubuntu splash screen during boot
Quickzi: Get rid of the Ubuntu splash screen during boot
Wednesday, April 16, 2008
A user profile on Ubuntu India - very interesting...
Very interesting writings...
User:Bharadwaj.j@gmail.com - Ubuntu India
Tuesday, April 15, 2008
polishlinux.org » GNU/Linux for everyone
Also, allows individuals to write their views in a feedback/forum form.
polishlinux.org » GNU/Linux for everyone
For comparing distributions, visit http://polishlinux.org/choose/comparison/
Also interesting might be www.distrowatch.com
Sunday, April 13, 2008
Hardy 64bit beta Installed...
Earlier when I had gutsy for the first time on this laptop, I had plenty of issues with my hardware. Tweak here and tweak there, I had to do a lot of things to make it work the right way.
However, with Hardy this time, I would say, I felt happy for two reasons.. first it didnt complain about any of my hardware (probably because now my hardware is about a year old, and for gutsy it was so much newer..) and that its 64 bit installation.
I am yet to completely switch to this, especially since I encountered a bug with evolution and that Hardy is still beta, but I do see a way forward going with this version of Ubuntu for me.
As a result of this experiment, right now, I am triple booting, Vista business, Gutsy (32 bit) and Hardy (64 bit).
This is one thing I like so much about the PC notebooks, you can play around with them a lot more than you can do with an equivalent mac... :)
One of the guys on ubuntu forums posted this url for a better understanding of 64 bit systems... 64 bit Systems have more benefits than RAM only
Later on, I found this link, a very interesting collection of 32bit vs 64bit OS (especially Ubuntu) comparison.