Skip to content

The Lacuna Blog Posts

How to Install LiveReload in Ubuntu?

LiveReload is a handy tool for web-developers. Do you not use Dreamweaver alternatives for linux, or any other web development tools? If you make use of text editors to code and web browsers to preview the result, then you must be tired of constantly hitting the save button on your text editor as well as that reload button on your web browser.

Why LiveReload?

LiveReload is here to your rescue. What it does is, it monitors for changes in the file system (a folder that you specify) and then automatically reloads the browser if any change is detected. Also, when you change a CSS file or image, the browser is updated instantly without even reloading the page.

How to Install LiveReload on Ubuntu?

Installing LiveReload is a pretty straightforward process in Windows, Mac and on Linux too (somewhat different though). In order to install LiveReload on Ubuntu, hit the following commands on your terminal one after another:

sudo apt-get install ruby-dev
sudo gem install rdoc -V
sudo gem install guard -V
sudo gem install guard-livereload -V

read more – Free Comma Delimiter

How often do you have to take a spreadsheet data and covert to a character separated value? Tabular data, be it a number or a text are all stored in a plain text form by CSV (Comma Separated Values) files. A CSV file can compile a number of records with separate fields, which are uniquely identified by a standardized literal comma, tab, any character or string. This type of file format has been widely supported and used in many fields. All types of spreadsheets and database management systems basically support these CSV files.

read more

How To Resize and Create LVM Partitions on Ubuntu?

Too frequent BSODs and 'display driver not detected' messages were turning me insane. I decided to install Ubuntu via WUBI, but although the pain slightly decreased, the true potential of linux was still shrouded by Windows. I had been contemplating on completely formatting and installing Linux, and about a week ago, I finally did it. With just 1 Gb of RAM and a P4 processor, I thought Xubuntu would be the way to go - and it seems that I was right.

Anyway, while installing Xubuntu I put a tick mark on "Use LVM with the new Xubuntu Installation" without even knowing what LVM was. It just seemed fancy, I guess. I have a knack for doing stupid things. Now what happened was, the entire Harddisk got formatted, like I wanted. But, there was only one partition for root (obviously).

GParted does not seem to work with resizing LVM partitions because you need to have some unallocated space on your volume group. Since all the space was assigned to the same volume group and there were no free space, I could not make use of it.

Being sort of a newbie to Linux, I was looking for an easy way out (i.e. a GUI based solution) and I did find one - an utility called KVPM. It seems to work better than GParted because it does not require any free space on the volume group in order to partition it (I haven't used it though, use at your own risk.) But, with my Internet Speed it would have taken me almost 2 hours just to download it.

Resize an LVM partition and create a new one the dirty way (Just kidding; it's easy.):

  • Boot with a live CD of the Linux distro. Click on Try Ubuntu (or whatever unity based distro you've got.)
  • Go to terminal (Ctrl+Alt+T) and change to root by entering the command : sudo su.
  • We need to find the volume group name of your partition and its corresponding device folder.
  • Enter lvdisplay. The results you see are your logical volumes. You should find at least two of them: /dev/vg-name/root and /dev/vg-name/swap_1. Disregard the swap partition, it's the root that needs resizing.
As you can see on the picture, the device folder in my case is /dev/xubuntu-vg/root. Suppose, I wanted to resize my 230 Gb partition to just 80 Gb and create a new volume on the free space. Here's what I would do. Note that I'm entering /vg-name/root because that is what I am going to resize. If you are going to resize some other volume, you have to enter its name instead of root. (Enter these commands one after another. Remember to put your actual volume group in place of 'vg-name'.)
resize2fs -P /dev/vg-name/root
e2fsck -f /dev/vg-name/root
resize2fs -M /dev/vg-name/root
lvresize vg-name/root -L 80GB
resize2fs /dev/vg-name/root

read more

Get Microsoft DreamSpark Account (& Some Free Products Along With It)

For those of you unaware of it, DreamSpark is a Microsoft program wherein students are provided with Microsoft products at no charge at all. To make use of this facility, you need to verify that you're infact a student. There are a number of ways to do this, but using a .edu email is the easiest one. This proves that the person is in fact a student since a .edu email address is assigned by a education institution and isn't open to everyone (not true all the time, as you will read below.) In this article, you are going to learn how you can get a DreamSpark account for free.

read more

How To Remove Left Sidebar From Frank WordPress Theme?

So, I decided to change the theme of the site once again. Man, I'm never satisfied with any theme and as far as I've learned in the last 3 years, no one really is. Yep, you look at someone else's site and you like their theme. You look at yours, and you want to change it. Anyway, this time, I decided to move to a fast loading minimal theme.

I had noticed for a while that the site was loading slow - took about 3-4 seconds as per Pingdom and GtMetrix. Luckily, before I could begin my search for a new theme, a friend of mine sent me a link to Smashing Magazine's coverage of Frank theme. I took a look at the demo site, and it loaded in blazing fast speed. Naturally, I was attracted to it and downloaded it right away and installed it on the site.

I went through the theme options to see if there was some way to remove the left sidebar so as to make it a two column theme. But, I could not find any option. So, I had to work around a bit, to get it to work as I wanted.

If you want to make the posts appear on a two column layout, rather than the default three column layout then follow the directions below.

Backup Single.php file, so that you can restore it if anything unexpected happens. Now, remove the following code from single.php:

					<div class='post-info'>
						<?php get_template_part( 'partials/post-metadata' ); ?>
						<?php if ( frank_tweet_post_button() ) : ?>
						<a id="post-tweet" href="<?php echo rawurlencode( strip_tags( get_the_title() ) ); ?><?php if ( frank_tweet_post_attribution() ) : ?>&via=<?php echo frank_tweet_post_attribution(); ?>&related=<?php echo frank_tweet_post_attribution(); ?><?php endif; ?>&url=<?php the_permalink(); ?>&counturl=<?php the_permalink(); ?>" target="_blank">
						<?php _e( 'Tweet this Post', 'frank_theme' ); ?>
						<?php endif; ?>
						<div id="prev-post">
							<?php previous_post_link( '%link', '<nav><span>%title</span></nav><p>%title</p>' ); ?>
						<?php if ( !dynamic_sidebar( 'Post Left Aside' ) ) : ?>
						<?php endif; ?>

read more

Grab Certain Texts From Gmail via Google Spreadsheet (Script)

I had worked on this a few weeks back, and without any prior knowledge of using GmailApp call on Google Spreadsheet, I had to struggle for a while to get it working. The code to do this is fairly simple and can be understood by just about anyone. The problem I was trying to solve was also fairly simple. First, some background : there's a new task initiated by my college, although as ridiculous as it might sound to you, a student (based on the order of the roll number) has to send an email blast each day to other students. The email blast should contain a word, it's meaning, example of its usage etc. There's a certain format that needs to be followed, and what I wanted to do was grab just the words within the email and store them so that at some point, I'd have a database full of every words that have ever been sent. (Not really my idea, though.)

So, here's how I tackled the problem, and I hope this would be helpful to you in case you want to do something similar. What I did at first was that I went to my Gmail and assigned all the emails with the subject "word of the day", the label : "Word". Since all the email blasts followed the same format, they all had the same subject as well. The advantage of assigning a label to emails based on subject is that, it works for new emails as well. That means, any new email with the same subject, will also automatically be assigned the label "Word". I now only needed to focus on retrieving mails from the label "Word" via Google Script. And this code exactly does that :

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('MySpreadsheet');
  var labelObject = GmailApp.getUserLabelByName('Word');
  var threads = labelObject.getThreads();
  for (var i = 0; i < threads.length; i++) {
    var msg= threads[i].getMessages();
    var raw = msg[0].getRawContent();
    var words = raw.match('*(.*?)*');
    if (words != null) {
      sheet.getRange('A' + String(i+1)).setValue(words[1]);

read more

How much does your business need data?


Everyone uses data today and, as a business, data is absolutely vital. Whatever your product or service, a company runs and survives off of the information it holds. This can be anything from staff details to customer information – all of it is important and such vital assets need to be protected.

read more