Blog

Weekly Links 28/2023

The on-call week finally got over, and I spent the next few days catching up with work that had piled up. Most of my reads/videos have been focussed on tech again:

Weekly Links 26/2023

Reading has been limited this week, and will be in the next one too, because I’m on the support rotation at work. Nevertheless, I found a few nice things to read and watch this week!

Weekly Links 25/2023

Inspired by Sathya’s weekly notes posts, I’m restarting my link sharing posts again. I suspect that the next few posts will be a mixed bag in terms of topics and themes, and maybe in the future I’ll figure out how to nicely categorise them.

The Restart Repost

A few days ago, I ran into an interesting issue at work. This was a confluence of unexpected behavior of systems we think we know well and use regularly, the pace of work at start ups, and the proverbial butterfly wings flapping elsewhere causing a string of dominoes to fall, triggering an incident. Head over to the Dyte Blog to read the post.

Home Server - The Purchase

I’m no stranger to thinking about regular computers as lightweight, non-professional use servers. Way back in my second year at college, I volunteered to use my relatively modest laptop as the host for a bunch of Wordpress and other services for on-campus student activities. Cheap power and good intranet (but terrible internet) speeds meant that the machine saw a decent amount of usage from the activity group members. After I moved out of campus though, I stopped running the laptop 24x7 as my usage patterns then did not justify it.

Addressing the gap

Except for the post about my recent VPN project, this blog’s been up without any new posts ever since my thoughts on farewells, about 7 years ago!. I never intended to say farewell to this blog, but it seems like Life had Other Plans. I worked on a team with 24/7 support, changed cities and jobs, a bunch of personal things happened, and I lost my habit of regularly writing about stuff I am intereted in. Or, maybe, all my writing quota was taken up by working in teams across multiple timezones, and I was no longer left with any mental bandwidth to write any more notes. But, this post isn’t about excuses or a litany of things that have happened since then.

On farewells

It is that time of the year again, when I realise that change is inevitable, for the n-th time. I love meeting new people, especially people who work hard to live a life, not just survive. Over the past few years, luck has favoured me by putting me in the right places. The adage of a door opening for every closed door rings true though. The flip side of meeting new people has meant a steady stream of goodbyes to many people I have shared cherished moments with.

Git 101 - A collection

Recently, I was helping some friends understand git. Instead of making my own set of slides, I searched online, as there are quite a few good posts already available online. My narrowed down list of links is:

P for Projects. Err, Procrastination

Summer is already here, it is time to gloss over the fact that almost half of 2014 has already passed by. For the past six months, this blog has once again fallen into neglect, with the occasional ‘note to self’ posts popping up once in a while. If you know me, you’ve most probably guessed the reason behind this apathy already. I am a lazy bum, and 2014 has been a pretty lazy year so far:

Links - March and April 2014

March and April have again been low online activity months, with Barcamp Bangalore grabbing some share of my free time, along with George Orwell’s 1984 and Randy Pausch’s The Last Lecture.

To tweet or not to tweet

Twitter has changed. A lot. There used to be a time when I looked forward to some spare time just to scroll through my timeline, to find interesting topics to discuss, and amazing people to discuss it with. Today, it has become a dumping ground for dubious ‘competitions’, showing off how your life is better than someone else’s and last but not the least, political battles I spent ages (and a lot of energy) regularly unfollowing people. I even created private lists to keep track of a very specific set of people. I cut down on a lot of noise on the TL. Inspite of this, I still need to trawl through everything to get interesting content and people.

Links - February 2014

February has been a low internet activity month. I’ve been reading City of Djinns and Immortals of Meluha, so my time spent in reading online stuff has been limited.

Links - January 2014

This has been a slightly slow reading month for me, as I’ve been reading a couple of dead tree books and travelling. But, there were still a few noteworthy articles for this month:

Links - December 2013

The December edition of things I’ve been reading is ready to serve, hot off the presses. This month (and the next) contain a lot of links from different Advent blogs, because they just have some amazing and at times, thought provoking content.

The Fellowship Diaries - Episode 4

If you have been following the posts from the Fellowship Diaries, you would remember the primary purpose for this entire circus was to learn. With about 2 weeks remaining for the fellowship to end, it makes sense to take stock of the things I have learnt in the past few months.

Potential Barcamp Talks - BCB 2014

The next Barcamp Bangalore is still some time away. And, I am constantly on the look out for some interesting topics, both to learn and talk about. Previous experience has shown that if I do not note them down somewhere, I will most probably forget the topics. So, here goes:

Winter’s here, Hallelujah

One of the more beautiful tunes I’ve heard recently has been Leonard Cohen’s Hallelujah. Initially, the original song, Wikipedia says, was not very successful. I wonder why, given the strong somber voice of Leonard Cohen. I was introduced to the song as part of the Shrek soundtrack, performed by Rufus Wainwright. The simple piano notes have the power to take you to a different mood altogether. I later found another powerful rendition by Jeff Buckley. And then, last year, Karsh Kale covered the track for Coke Studio at MTV with Shilpa Rao. Clearly, I’ve run out of adjectives to describe this composition. I’m pretty sure I will never be able to talk about the 300+ covers of this song.

So long, PHP

Like most of my blogposts in recent times, this one starts in the dark ages. School was when I was introduced to computers and programming. The staple diet of computer classes then was Logo. With 2 or more kids to a computer, we used to move the turtle around the screen for the entire period. It was fun, trying to confuse the computer with inputs from what was essentially 2 brains acting as 1.

The Fellowship Diaries - Episode 3

Right now, India is celebrating Diwali. It is the yearly extravaganza of the country, where almost everybody goes back home. But, I’m here in Germany. And, I’m in no mood to work. So, I shall indulge in some wishful thinking this time, in my diary entry.

A sleepyhead explains DST

Daylight Saving Time. Yet another fancy western term which had no impact on my life. Till a week ago.

Markdown and Windows

Creating documents. Anyone who has ever taken up a salaried job knows that this is one of the most boring tasks ever. And, there have been way too many attempts to solve this problem. The IT world is filled with tools to ease this task. From the humble text files to cumbersome MS Word documents, there is a document format for every part of the spectrum.

An ode to an Ode

The track opens with crystal clear, alternating notes of a guitar. To the trained ear, it feels like the home run. The newbie will notice the calm dexterity of the guitar player, but not realise that it is the precursor of a storm. The bass guitar creeps in, and the solid, gentle vocals start laying the foundation of the track.

Frankfurt Auto Show 2013

On a whim, I decided to go all the way back to the first post on this blog. I was a little shocked to note that it has been more than 5 years since I have been irregularly blogging. But, I was more than a little surprised to note that one of my passions had absolutely zero mention. Like every other guy, I am a #PetrolHead.

The Fellowship Diaries – Episode 2

In the previous diary entry, I had mentioned that I was neck deep in research papers. Soon after that, things started picking up some pace. After having looked at how the world was attempting to solve this problem, we decided to do some soul searching. We looked at any and all relevant features that exist in SAP systems, and how we could improve them. We also brainstormed and created our ideal solution to the problem. And then, we rolled up our sleeves, sat down at our desks, and started work.

Looks like I finally did get my psenti-sem

Late night movie/TV series binges, coffee at 2 AM, crystal clear night skies, absence of close friends, life in an academic town and work on a research project. Looks like I finally did get to live a psenti-sem with a thesis school!

HANA - Why am I Excited

Much has been written (and said) about the speed gains that main directives for development of SAP products, but not one emphasised enough, I decided to spend some time understanding it.

#PotentialBarCampTalks

Twitter trends have now become the de-facto place for brands to spam everyone’s timelines. But, every once in a while, a hashtag comes along and reminds you of the fun times. It may not trend, but it brightens up your TL. A few days before Barcamp Bangalore 2013 Monsoon Edition, and a couple of days after the announcement of Barcamp Mumbai 12, people tweeted a slew of #PotentialBarcampTalks. Noting down the ones I noticed:

Music Club Pilani - 2 videos

I finally found a video of the Music Club (BITS Pilani) performance of Toss the Feathers online. I also found another amazing performance by them, from the same concert, an A Capella performance of Aap Jaisa Koi.

Startup or BigCo?

This week, I complete 2 years at my present company (let us call it A). Long term readers of the blog know that I work at a corporate behemoth, one of the oldest in the software industry. I would like to take this opportunity to note down what made me choose working here, instead of the startup (let us call it B) I was an intern at. I will re-iterate a few points from a previous post. This post needs time to read, so come back later if you are in a hurry.

PHP, FILE and symlinks

I’ve made this mistake so many times, that I have to note it down somewhere and not make it again.

Paxos Consensus - Notes

I came across this algorithm used for generating a consensus among distributed systems, recording the material I liked/groked among it all

Barcamp Bangalore 13

It’s been more than a month since BCB13 happened, so this post is a little late. But, as most of you might know by now, I’m pretty lazy when it comes to writing.

गाडी सुटली, रुमाल हलले

गाडी सुटली, रुमाल हलले, क्षणात डोळे टच्कन ओले गाडी सुटली, पडले चेहेरे, क्षण साधाया ह्सरे झाले गाडी सुटली, हाता मधुनी  हात कापरा तरी सुटे ना अंतरातली ओली माया तुटुदे म्हटले तरी तुटे ना का रे इतका लळा लावुनी नंतर मग ही गाडी सुटते डोळ्यानदेखत सरकत जाते आठवाणींचा ठिपका होते गाडी गेली, फलाटावरील नि:श्वासांचा कचरा झाला गाडी गेली, डोळ्या मधल्या निर्धाराचा पारा फुटला

How geeky am I?

Someone asked me about not lazing around on weekends, and I used Marginal Utility to explain that it is better to laze around in the evenings on weekdays than to laze around on weekends. facepalm

Hacking Hangman - The plan

Hangman, the game, has always put me in a quandary. Me and my friends have always played the movie titles variant of the game. I can never accept the fact that I would start my guesses of the alphabets randomly. So, the other day, I cooked up a lean, mean plan to fight the game.

2011 Concerts

A list of concerts I attended in 2011

My ThinkUp instance is now public

I have been running an instance of ThinkUp on this web server for quite a few months. It has been silently chipping away at the mountain of tweets I have posted for the last few years. ThinkUp reached version 1.0 a few days ago, which means that it has completed a basic set of features. It is also now officially out of beta, and hence is stable. They have also done a lot of work on the user interface and have started including elements of the next re-design in this version.

MySQL - Moving datadir

For the last few hours, I had been piddling around with the folder hierarchy on the host that runs this blog. I use an Amazon EBS backed instance for this job. I started off with a simple setup, where I had all the data on one single EBS volume, which included all the MySQL databases along with the webroot. If I borked this setup, there was no way I could painlessly restart a new instance and have the website up and running within half an hour. Switching the web root directories for Apache is pretty easy, and I had already done that a few times. However, I had never tried switching the data directory for MySQL before. I always used the default location in Ubuntu, /var/lib/mysql. I also had to consider the space issue. ThinkUp’s database turns into a beast if you’ve been running it for a few months. With my paranoid backup policy, there was a high chance I would run out of space on the root EBS volume pretty soon.

Why I quit Facebook

It’s been almost a year since I quit Facebook (December 2010). I am now tired of remembering and explaining every time why I quit the social network, so I am going to blog about this. If you are reading this, then you know that you have asked a question that bores me. Still, read on to satisfy your curiosity.

Dance Club @ BITS Pilani - 2 Videos

Dance Club, BITS Pilani has always amazed me. I recently came across two videos on YouTube. Both are performances on songs that are extremely tough to choreograph. The first video is a slightly old one, from 2004. Though the choreography is not up to the mark, some parts of the dance take my breath away. The other performance is from 2007, and I was lucky to have seen it live. It’s a medley of two songs by The Corrs, Toss the Feathers (their most popular song), and a lesser known song, Joy of Life (from the Live in Dublin album).  It is one of the best performances I have seen by DC.

Show hostname and username during ssh in screen or byobu’s window title

At work, I have to access multiple test servers over ssh.  Most users of screen/byobu would follow the examples here to set the current screen window’s title to show the username and hostname of the remote host.  However, all the steps involve either figuring out the slightly cryptic syntax for the hardstatus and caption commands of screen, or modifying the prompts on the shells at the remote host.  Most of the servers I connect to, being test machines, are regularly cleaned.  Hence, I cannot rely on safely keeping my configuration files on those machines.

Twitter Tip - Favourites as a links stack

We all know that Twitter is an insane source of information. Once we start following more than 300-400 active users, the timeline can become tough to keep up with. Also, if your online reading habits are similar to mine, when you log on and start reading stuff, you would open atleast ten new tabs in no time. And then, being the good tweep you are, you want to share the karma and RT the original tweet. But, by the time you get to this step, your Twitter timeline has scrolled down by atleast a hundred more tweets. It is simply not possible to scroll down all the way hunting for it, especially with the web interface.

Minor LaTeX error - Missing $ inserted

While creating a document in LaTeX today, I came across this strange error: ‘Missing $ inserted…’.  I checked the syntax everywhere, but could not figure out what was wrong.  I checked the LaTeX WikiBook’s page on Errors and Warnings, which lists the common errors, but still could not find it.  A quick Google search however led me to this short blogpost, which explains that this is an error generated when the math mode is active, or there is an unescaped underscore.  The latter was the case for my file, and escaping it fixed the error in a jiffy!

LaTeX - Typeset a URL without linking to it

While creating a report in LaTeX, I wanted to typeset the following link. but not actually create a link in the generated PDF, as it is an example, and will not work:

Recursively Zip a directory with PHP

Google’s results for code snippets to create a .zip archive with PHP gives quite a few results. However, none of the code examples can recursively compress a directory and replicate the same structure in the .zip archive. One code snippet from the PHP Manual’s reference page for Zip functions comes pretty close, but the RecursiveDirectoryIterator never worked for me. The code always failed with an error about excessive recursion, with the script reaching the limit of 100 recursion levels.

Summer of Code - Week 12

And, it’s finally over! :open_mouth:  My round up of the Google Summer of Code experience will have to wait a little, as I want to spend time compiling the exact changes I made, as against the ones I set out to do at the beginning.  However, here’s my slightly delayed weekly report for the last week of GSoC.

Summer Of Code - Week 11

Ah! It’s already the 9th of August over here. This means that we have come to the end of the coding period of the Google Summer of Code and work on documentation starts. A peek at the git commit log shows that I have covered most of the tasks I set out to do for this week:

MiniDebConf @ COEP Tomorrow!

I’ve been in Pune for almost a month now, but due to the 6 day week schedule at my Practice School 2 station and GSoC hacking, I’ve not had a chance to get in touch with the very active Pune Linux Users Group (PLUG) people.  Thankfully, the guys at Uncode, Free Software User Group at PICT and PLUG got together and decided to organize the MiniDebConf 2010 India at Pune, giving me a chance to meet these guys.  The MiniDebConf details are:

Summer of Code - Week 10

Things have been a little slow the last week, thanks to preparations for a small family function today.  But, I did get a decent amount of time to work on the code last week.  Here’s what the git commit log says:

Summer of Code - Week 9

Damn!  It’s already the end of Week 9!  The Google Summer of Code has only 3 more weeks to go, and it feels as if it was just yesterday that I started working on phpMyAdmin.

Summer of Code - Week 4

Due to some issues at my hosting service, this blog post is appearing almost a week late. I am extremely sorry for the trouble caused.

Summer of Code - Week 3

Due to some issues at my hosting service, this blog post is appearing almost 2 weeks late.  I am extremely sorry for the trouble caused.

The Summer of Code - Week 1

Week 1 of the Google Summer of Code is over and time is moving pretty fast.  Tasks completed this week:

The Summer of Code - Index

In my last post, I mentioned that I’ll be creating a list of tasks to complete over the summer. It’s been posted at this pastebin. Kindly check it out and add to it if I’ve missed anything important. :smile:

The Summer of Code - Prologue

Google Summer of Code 2010 is about to begin, and the community bonding period is over.  The official coding period starts tomorrow, so here’s a brief post about what I’ve been upto (other than trying to study for my last semester exams, which I’m pretty sure were a disaster):

Upgrading to Lucid at the BITS Network

Canonical recently released the latest version of Ubuntu, Ubuntu 10.04 Lucid Lynx.  It is an excellent upgrade to Ubuntu, with some nice features and UI/UX improvements on GNOME.  KDE too has had quite a few improvements, with the latest KDE4.4 SC being included in the final release.  Reviews of the distro can be found pretty easily on the net, as Lucid, a Long Term Support release, has been eagerly awaited.

AJAXify the phpMyAdmin Interface

This is my proposal for the Google Summer of Code 2010 at phpMyAdmin, and it has been selected among the six project proposals to participate in GSoC 2010.  The mentor for the project is [Marc Delisle][1] (lem9).  During the project, the actual implementation of this project will most probably change, and things may not go exactly as per this plan.  But, I will do my best to stick to this plan, and incorporate all the feedback that the community will provide.  The time that I’ve spent till now in the community, while participating in the mailing lists, has been good, and I am looking forward to a good summer, filled with lots of learning and also some good coding.  :smile:

OSScamp Pilani March 2010

The winds of open source computing are now blowing towards Birla Institute of Technology and Science, Pilani with an Unconference being organized by the Computer Science Association (CSA). The 5-day fiesta of BITS-Pilani’s international annual technical festival APOGEE to be held this year from 10th- 14th of March sees the confluence of thoughts and ideas amongst more than 5,000 young minds from not only India but also the world’s top notch universities and the OSScamp is being held as a part of this fest. For those who do not know, OSScamp is a thriving, young and vibrant community of open source enthusiasts in India. The community revolves around ‘Unconference’ that are also called as camps. At a Camp, we will be

Lazy Me…

As you guys can see, I’ve been terribly lazy at writing stuff for the blog. But, I’ve kept myself busy by uploading some snaps to flickr, so am posting links here, hoping to get back on track with writing as well soon.

choqoK - A KDE Client for Twitter

Due to the simple API of Twitter, the world has seen a huge number of applications being written for it, ranging from simple applications that will just post and show tweets, to applications that guzzle the public timeline and apply all sorts of fancy algorithms, generating very interesting results. Today, we’ll have a look at something on the simpler side, choqoK. Currently at version 1.0 alpha, this is a pretty recent application, and has been adding a lot of features since it was released for the first time in late December, 2008.

Commandline Fu

People who have been reading this blog for sometime, will know that I am a huge fan of the command line. I love to find new ways to do things from the command line, without leaving the comfort of my keyboard and dragging my hand all the way to the mouse. Recently, I found a site that let’s me do learn brilliant tricks:

Opera 10 released!

Today, Opera released the latest version of it’s browser, Opera 10. This release marks a major step forward in the life of the Opera Browser, as it includes a lot of new features that have raised the bar in the browser market.

Jaagte Raho! Insomniacs Rock

Many BITSians often ask me, why do I tweet.  There are about 100 BITSians I know, who are on Twitter.  But, barely 20 among them are active by any standard on Twitter.  What they don’t know, is that it took a lot of convincing by @jeffjose, to get me on to Twitter.  I won’t get into all the stuff that he told me, but I will tell you about one very amazing person I found on Twitter, which has ensured that I will never stop using it.

$(document).ready fails on Internet Explorer 6

I have been interning at a company for the past few weeks, where I worked on jQuery. It’s a Javascript framework, and one of the primary reasons for using it was to not to worry about browser incompatibility issues. I happily coded away, testing my code in Firefox, Opera and Chrome as I went along. Internet Explorer compatibility was a very important issue for us, as our target audience had a large set of users who would still be using sucky IE6, and some more would be using IE7. But, compliance with IE was something we all took up very late into the project.

How to tweet using your own PHP script

In the last post, we had a look at the HTML and jQuery code which will be used to post tweets from a user to his Twitter profile. Today, we spend some time on the back end, the actual PHP code. As I have mentioned before, this is a sample code, and hence involves very little validation. When writing code for production/personal use, please include necessary validations in it.

How to Tweet using your own PHP script - 1

Twitter is the darling for many folks on the internet these days.  The sheer simplicity of Twitter is what makes it so endearing.  This simplicity is observed not only in it’s UI and UX, but also in it’s brilliant API.  With one of the most well documented APIs I have seen to date, for a web service, it is pretty easy to fiddle with Twitter.

How to install Amarok 1.4 on Jaunty

This is for all those Amarok 1.4 fans out there, who miss it, and are stuck with Amarok 2.x in (K)Ubuntu Jaunty.  A few days ago, I was reading a discussion on Reddit, about the general frustration of users with Amarok 2.x, and I came across this jewel.

Amarok 2.1.1 released

Amarok 2.1.1 Oceania was released a few days ago.  Slowly, ever since Amarok 2 has been released, the quality and features of Amarok 2 are improving.

What I've Been Reading

This XKCD cartoon should tell you what i’ve been upto in the last few weeks. :smile:

LG LXU800 Dialer on Ubuntu Jaunty

It’ s been a few days since I’ve reached home.  One of the first things I did after getting back home, was to setup up a net connection with my laptop.  Recently, the folks at home had to replace the Huawei Data Card (a PCMCIA slot based dialer) that Reliance offers, with the LG LXU 800 USB dialer.

Jauntied, with a few scares!

This is the story of my laptop’s upgrade from Ubuntu Intrepid Ibex to Ubuntu Jaunty Jackalope (currently beta) It started a few days ago, when I got hold of an alternate ISO for Jaunty beta, thanks to a fantastic downloader on our campus. (For those not familiar with the BITSian net, we are not supposed to download files > 20 MB and also the speeds are painfully slow.)  The ISO was dutifully mounted to the system and the upgrade started:
It asks me whether I want to include the latest packages from the Ubuntu repositories.  After a ‘Yes’, it downloads all the new package lists (which takes upto an hour).  The package lists sources are modified, newer package lists are downloaded, the upgrader calculates the size of downloads, and confirms it.  Now begins the tough game of waiting.  Downloading almost 1200 MB of packages at speeds that can range from 398 B/s (anytime between 1900 to 0300) to 60 kB/s (0500).  The result is that the connection breaks many times, and the entire upgrade process starts from step 1.  After struggling with the net for about 4 days, I finally have all the packages downloaded to my disk, and the actual upgrade starts.

Random Post

A look at things that happened over the last week:

Image Organizer for WordPress

This is my revised application for Google Summer of Code at WordPress. Please feel free to post your comments/suggestions:

A Shell Quirk

Here’s a quirk that I noticed, while coding today.  Was writing a function to test if a directory exists, and to make the directory doesn’t exist.  Shell offers the test command, used with an if statement, to solve this.  Here’s what I wrote:
[ expression ] is a synonym for [ test expression ].  Interestingly, this peice of code did not work.  So, I had to make do with this:
Could someone tell me if it’s a syntax/logic error that I have made?  Or is it a problem with the BaSH test command?

ACAD - How to generate random characters on Shell

I was making a few files yesterday, which I needed to be filled with garbage.  As I was working in good old BaSH, I was not in a mood to go to either C or any other language, as i/o redirection would have been a little complicated.  Google came to the rescue, and I found this brilliant way:
~$: hexdump -n100 -e\"%u\" /dev/urandom > file.txt
Here’s how it works:

The Good Old Days

There used to be a time, when the only thing we watched TV for was cartoons… There used to be a time, when we would comb through libraries for the latest Hardy Boys and Harry Potter… There used to be a time, when we were innocent… There used to be a time, when the only thing that mattered were friends… There used to be a time, when the report card at the end of the semester was a highly dreaded peice of paper… There used to be a time, when we would make pure fun of our teachers… There used to be a time, when our parents and teachers were our first idols… There used to be a time, when all our actions were spontaneous, and not planned and conceitful… There used to be a time, when the candy at the canteen used to be a weekly treat… There used to be a time, when we dreamed big… There used to be a time, called childhood… There used to be a place, called school… They were the good old days… Never to come back again… I miss you all… Ashish, Rohan, Saurabh, Udyam,  Anant, Manoj, Tejashree, Pushkar, Tejas, and everyone from RJEMHS & Xavier’s

ACAD - ImageMagick again!

Here are the results of a vetti afternoon after a pathetic (read Optimisation Techniques) comprehensive exam:

None of the Above

It’s been a long time since I last posted something on this blog.  And lots of things have happened since then.  One thing that is on everyone’s mind these days is the Terrorist Attack on Mumbai that happened last week. Here are a few brilliant pictures of the attack.  Everyone across India watched in awe as media broadcasted live images of one of the worst terrorist attacks that Mumbai has faced in recent times.  That this entire event was a tragedy of the largest scale is beyond dispute.  But what is even worse, is the aftermath of the attacks that have happened in Indian Politics.  Here are a few news reports on the internet after the attack (sources: NDTV.com and IBNLive.com alerts):

Oasis Hangover…

The hooter has started ringing again every hour. The class rooms are now filled with benches. The beds were taken away a long time back. The black boards are filled up with equations and diagrams, as against the drawings and funds by club and department members. BITSians have started attending lectures and tutorials again, in the hope of garnering the last few marks before the compres. Sky is now filled with school children visiting the museum again. The C and M lawns are now once again their bare self. The Audi doors are closed for the entire day. The FD-II QT is no longer the center of activity for Informalz, HAS and Jhankar. People have returned to SAC, Cnot and ANC to feed their hunger in the night. The Art n Dee structure is no longer the host for DoPy clickers and outsti’s. The Photog exhibition is over. I have returned to my hostel room to live in it. It’s been only a week since Oasis got over… And I miss it.

Some Links

Here are a few sites that I have been reading recently:

Another Week Passes

Disclaimer: This is a diary posting. Anyone not interested may please stop reading.

ACAD - Monitoring Tools

A lot of us computer fans are stat freaks. We take pains to cover the minutest of details and follow them with a zeal. We always use the statistics to keep a watch on the health of our computer. I’ll discuss some of the tools I use, today.

ACAD - How to delete viruses from a pen drive with find

Pen drives or thumb drives, are the most susceptible to computer viruses (Windows based), and they are the most popular way today for a virus to spread. Being small, handy, and convenient because they run on USB, they are used on a large scale by everybody. Viruses which infect them, follow a particular pattern of infecting them.

Blog goes online!

I have now moved my blog online to http://ninad.x10hosting.com/blog/. Surprisingly, the shifting of the blog to a new host was not at all difficult, except for the part of uploading the .tar.bz2 file to the new location. This is due to the great internet connection at my college. A how-to to setup a WP blog on this host will be up soon… :smile:

I am back!

It’s been quite a few days (16, to be exact) since my last post… And , my hands have been itching to write a new post. But, fate had different ideas, and things just kept coming up, keeping me busy.

ACAD - wbar

Time to jazz up your Ubuntu with a Mac OS/X style doc, which will not put too much of a load on your processor. Wbar has been popularised in gOS Gadgets, where it has replaced the iBar as the default dock. To do this, you do not need to add any repositories or any complex stuff. All you have to do is download two .deb packages (yeah, no compilation from .tar.gz!), and install them! So here’s how you do that.

Exam Break…

Hey everyone, this blog gets a break for this week, thanks to exams… :unamused:. Meanwhile, here are some things that I have been up to in the last few days…

ACAD - bash tips

We get back to the most powerful tool on Linux, and my favourite, the Shell. Specifically, we will have a look at some of the features that the Bourne Again Shell (bash) has to offer for command line users. Some of these features are also supported by other shells. A lot of these tricks are common place for power users, and I hope that they will be very useful for newer users.

ACAD - Psi 0.12 on Ubuntu

Here’s what I was up to yesterday the entire night… I compiled the latest stable version of Psi, a Jabber client, just like Pidgin and Kopete. The latest stable release is Psi 0.12 and it’s source can be downloaded from here. I prefer Psi over the rest because it is as cross-platform as cross-platform can get. It is identical in functionality on Linux, Mac and Windows XP/Vista, and even the looks are comparable. I also like the iconsets that can be downloaded for Psi and it’s sounds are delightful, unlike the dull sounds of Pidgin. :smile:

ACAD - wget PII

Continuing from the last episode of ACAD, we’ll try to understand the very powerful and versatile downloading tool, wget. As you might have seen from the examples we looked at yesterday, it is not possible to download more the one link at a time in wget. This can be taken care of by specifiying a list of all the links in a simple .txt file, as follows:

ACAD - wget PI

Today, we’ll have a look at one of my favourite download managers. Every Linux system includes this tool, wget. It’s manpage describes it as the perfect tool to download on slow, unstable network connections. I second that, having used it on our LAN, which is notorious enough to not work when we need it the most, especially for our academic work. It works best as a background process, which means that you can start wget, send it to the background, and forget about it (for some time :smile: ). It will run in the background, periodically updating the log file, and complete your download(s) without interfering with your work. However, do not expect lightning fast speeds from wget as it cannot thread files into chunks and download parts simultaneously. Let’s have a look at the basic usages of wget today. The rest will be covered in the next ACAD post.

ACAD - Amarok tips

Amarok is the best audio player available on Linux, as those of you who have used it will agree. I personally rate it the best audio player available right now, better than iTunes, Winamp, and miles ahead of Windows Media Player. We’ll have a look at some tips and tricks that will help you ‘Rediscover Your Music’.

ACAD - 24 Aug 2008

OK, here’s something fun for you guys to experiment with. I’ll show you how to send messages across terminals on a Linux system. This is can be quite useful if you have to suddenly shut down the system and need to inform all logged in users. though, the shutdown command has a built-in function to take care of just that. This is what you’ll need to pass messages:

ACAD - montage

Well, here goes the post on montage, as I had promised yesterday. Before we have a look at montage, we’ll have a look at ImageMagick. It is a suite of image editing tools, that can do almost anything to over a 100(!!!) different types of bitmap images. It is most popular for it’s ability to batch process files, support for a scripting language and hence has found it’s way to many sites that require some sort of image editing. You can see ImageMagick at work at the Photography Club Gallery.

ACAD - How healthy is my computer?

Today, we’ll have a look at some commands that will report your system’s vital statistics. First and foremost, we’ll see how long has your computer been on. Here’s a sample from my system:

ACAD - locate files on your Linux system

Windows has the Search function to find files on your hard disk.  But we all know that it is quite a PITA, and really slow (especially on XP), to search for the file.  Linux too has a similar program to help you search for files stored on your system.  It’s name is ‘locate’ and it is a command line utility available on every Linux system.

ACAD - How Hot is my Computer???

Today, I’ll give you a small script that will give the temperature of your CPU at a given time.  This is a very simple shell script, which contains a command to display the temperature of the CPU.  Here’s what you have to do…

Installed Ubuntu… What happened to my computer???

Ever since Ubuntu started shipping free CD’s of it’s Operating System, and Fedora in magazines like Digit, a lot of people on campus have installed Linux on their systems, in an attempt to use it. Now, that is great news for the Open Source and Linux community. This should lead to the development of a large number of applets and applications from our campus, as we have some of the best brains, right? However, this has not happened. When people install Ubuntu and do not find the ‘Start’ button that they are so used to, or many other common applications like the Internet Explorer (an application that I try to avoid as far as I can), IPMsg and DC++, they get frustrated and format the Ubuntu partition, just to find out that the GRUB loader is now clueless and the system doesn’t boot!

ACAD - grep

Imagine this… You have just created a Web site with about a hundred different HTML and PHP files. There is a particular string that has to be replaced, and you don’t remember which file it was in, or where it was in the file. What do you do at such a time? Make the computer do all the hard work, and you do the smart work. Here’s a solution:

ACAD - How to setup WordPress on a Ubuntu system

Today, we’ll have a look at how to install a WordPress blog on a freshly installed Ubuntu system. The procedure will be similar for most of the other Linux Operating Systems, with only the references to the package manager and a few other basic directories differing. In Windows too, it can be done very easily, if you know the right softwares. I’ll mention the ones that I know. Installing WordPress occurs in two steps, Setting up a LAMP/WAMP server, and installing WordPress.

My Experiments With Bulb

Here’s a snap from a set that I have been working on. It’s from a set, ‘My Experiments With Bulb’, an attempt to capture the simple light bulb from different angles. This snap was clicked during the Photography Workshop Clicking sessions in APOGEE ‘08. It was clicked while Tullu was upto his tricks, clicking snaps for the ‘On The Spot’ competition. Clicked with Apoorv’s Canon S5IS in B/W mode. A sepia shade was added to it in Photoshop, along with the watermark and the border. To see more of My Experiments With Bulb, visit this or this.

ACAD - nslookup

As I promised yesterday, here’s a neat little tool to query the DNS servers, nslookup. This is primarily used to check the DNS for the IP address of a particular domain name. However, a simpler use is to check if the DNS server at IPC is working or not. The command is run in its simplest form on the command prompt of both Windows and Linux as

The Circus has opened…

Yesterday, the Student Union kindly arranged for a ‘Fresher’s Day’ in the Audi. It apparently was an effort to rouse interest among the new batch of BITSians about the various co-curricular activities and festivals. These are major events on the BITSian calendar. As a result, almost all the Clubs and all the Departments turned up for the event, vying for the attention of the coveted First Yearites, who will be a major part of the workforce throughout the next 2-3 years.

ACAD - OpenDNS.com

All of you who think that ACAD is about academics, please stop reading here… ACAD is A Command A Day, where I will post tips and tricks on using Linux, and Ubuntu in particular. Some of the information that you will see here can be found on the man pages of the commands, however, I will attempt to simplify it and not do a straight copy-paste.

Back to Top ↑

Uncategorized

Addressing the gap

Except for the post about my recent VPN project, this blog’s been up without any new posts ever since my thoughts on farewells, about 7 years ago!. I never intended to say farewell to this blog, but it seems like Life had Other Plans. I worked on a team with 24/7 support, changed cities and jobs, a bunch of personal things happened, and I lost my habit of regularly writing about stuff I am intereted in. Or, maybe, all my writing quota was taken up by working in teams across multiple timezones, and I was no longer left with any mental bandwidth to write any more notes. But, this post isn’t about excuses or a litany of things that have happened since then.

On farewells

It is that time of the year again, when I realise that change is inevitable, for the n-th time. I love meeting new people, especially people who work hard to live a life, not just survive. Over the past few years, luck has favoured me by putting me in the right places. The adage of a door opening for every closed door rings true though. The flip side of meeting new people has meant a steady stream of goodbyes to many people I have shared cherished moments with.

Git 101 - A collection

Recently, I was helping some friends understand git. Instead of making my own set of slides, I searched online, as there are quite a few good posts already available online. My narrowed down list of links is:

P for Projects. Err, Procrastination

Summer is already here, it is time to gloss over the fact that almost half of 2014 has already passed by. For the past six months, this blog has once again fallen into neglect, with the occasional ‘note to self’ posts popping up once in a while. If you know me, you’ve most probably guessed the reason behind this apathy already. I am a lazy bum, and 2014 has been a pretty lazy year so far:

To tweet or not to tweet

Twitter has changed. A lot. There used to be a time when I looked forward to some spare time just to scroll through my timeline, to find interesting topics to discuss, and amazing people to discuss it with. Today, it has become a dumping ground for dubious ‘competitions’, showing off how your life is better than someone else’s and last but not the least, political battles I spent ages (and a lot of energy) regularly unfollowing people. I even created private lists to keep track of a very specific set of people. I cut down on a lot of noise on the TL. Inspite of this, I still need to trawl through everything to get interesting content and people.

Winter’s here, Hallelujah

One of the more beautiful tunes I’ve heard recently has been Leonard Cohen’s Hallelujah. Initially, the original song, Wikipedia says, was not very successful. I wonder why, given the strong somber voice of Leonard Cohen. I was introduced to the song as part of the Shrek soundtrack, performed by Rufus Wainwright. The simple piano notes have the power to take you to a different mood altogether. I later found another powerful rendition by Jeff Buckley. And then, last year, Karsh Kale covered the track for Coke Studio at MTV with Shilpa Rao. Clearly, I’ve run out of adjectives to describe this composition. I’m pretty sure I will never be able to talk about the 300+ covers of this song.

A sleepyhead explains DST

Daylight Saving Time. Yet another fancy western term which had no impact on my life. Till a week ago.

Markdown and Windows

Creating documents. Anyone who has ever taken up a salaried job knows that this is one of the most boring tasks ever. And, there have been way too many attempts to solve this problem. The IT world is filled with tools to ease this task. From the humble text files to cumbersome MS Word documents, there is a document format for every part of the spectrum.

Looks like I finally did get my psenti-sem

Late night movie/TV series binges, coffee at 2 AM, crystal clear night skies, absence of close friends, life in an academic town and work on a research project. Looks like I finally did get to live a psenti-sem with a thesis school!

#PotentialBarCampTalks

Twitter trends have now become the de-facto place for brands to spam everyone’s timelines. But, every once in a while, a hashtag comes along and reminds you of the fun times. It may not trend, but it brightens up your TL. A few days before Barcamp Bangalore 2013 Monsoon Edition, and a couple of days after the announcement of Barcamp Mumbai 12, people tweeted a slew of #PotentialBarcampTalks. Noting down the ones I noticed:

Startup or BigCo?

This week, I complete 2 years at my present company (let us call it A). Long term readers of the blog know that I work at a corporate behemoth, one of the oldest in the software industry. I would like to take this opportunity to note down what made me choose working here, instead of the startup (let us call it B) I was an intern at. I will re-iterate a few points from a previous post. This post needs time to read, so come back later if you are in a hurry.

Paxos Consensus - Notes

I came across this algorithm used for generating a consensus among distributed systems, recording the material I liked/groked among it all

गाडी सुटली, रुमाल हलले

गाडी सुटली, रुमाल हलले, क्षणात डोळे टच्कन ओले गाडी सुटली, पडले चेहेरे, क्षण साधाया ह्सरे झाले गाडी सुटली, हाता मधुनी  हात कापरा तरी सुटे ना अंतरातली ओली माया तुटुदे म्हटले तरी तुटे ना का रे इतका लळा लावुनी नंतर मग ही गाडी सुटते डोळ्यानदेखत सरकत जाते आठवाणींचा ठिपका होते गाडी गेली, फलाटावरील नि:श्वासांचा कचरा झाला गाडी गेली, डोळ्या मधल्या निर्धाराचा पारा फुटला

How geeky am I?

Someone asked me about not lazing around on weekends, and I used Marginal Utility to explain that it is better to laze around in the evenings on weekdays than to laze around on weekends. facepalm

Hacking Hangman - The plan

Hangman, the game, has always put me in a quandary. Me and my friends have always played the movie titles variant of the game. I can never accept the fact that I would start my guesses of the alphabets randomly. So, the other day, I cooked up a lean, mean plan to fight the game.

My ThinkUp instance is now public

I have been running an instance of ThinkUp on this web server for quite a few months. It has been silently chipping away at the mountain of tweets I have posted for the last few years. ThinkUp reached version 1.0 a few days ago, which means that it has completed a basic set of features. It is also now officially out of beta, and hence is stable. They have also done a lot of work on the user interface and have started including elements of the next re-design in this version.

Why I quit Facebook

It’s been almost a year since I quit Facebook (December 2010). I am now tired of remembering and explaining every time why I quit the social network, so I am going to blog about this. If you are reading this, then you know that you have asked a question that bores me. Still, read on to satisfy your curiosity.

Dance Club @ BITS Pilani - 2 Videos

Dance Club, BITS Pilani has always amazed me. I recently came across two videos on YouTube. Both are performances on songs that are extremely tough to choreograph. The first video is a slightly old one, from 2004. Though the choreography is not up to the mark, some parts of the dance take my breath away. The other performance is from 2007, and I was lucky to have seen it live. It’s a medley of two songs by The Corrs, Toss the Feathers (their most popular song), and a lesser known song, Joy of Life (from the Live in Dublin album).  It is one of the best performances I have seen by DC.

Twitter Tip - Favourites as a links stack

We all know that Twitter is an insane source of information. Once we start following more than 300-400 active users, the timeline can become tough to keep up with. Also, if your online reading habits are similar to mine, when you log on and start reading stuff, you would open atleast ten new tabs in no time. And then, being the good tweep you are, you want to share the karma and RT the original tweet. But, by the time you get to this step, your Twitter timeline has scrolled down by atleast a hundred more tweets. It is simply not possible to scroll down all the way hunting for it, especially with the web interface.

Minor LaTeX error - Missing $ inserted

While creating a document in LaTeX today, I came across this strange error: ‘Missing $ inserted…’.  I checked the syntax everywhere, but could not figure out what was wrong.  I checked the LaTeX WikiBook’s page on Errors and Warnings, which lists the common errors, but still could not find it.  A quick Google search however led me to this short blogpost, which explains that this is an error generated when the math mode is active, or there is an unescaped underscore.  The latter was the case for my file, and escaping it fixed the error in a jiffy!

LaTeX - Typeset a URL without linking to it

While creating a report in LaTeX, I wanted to typeset the following link. but not actually create a link in the generated PDF, as it is an example, and will not work:

Lazy Me…

As you guys can see, I’ve been terribly lazy at writing stuff for the blog. But, I’ve kept myself busy by uploading some snaps to flickr, so am posting links here, hoping to get back on track with writing as well soon.

Jaagte Raho! Insomniacs Rock

Many BITSians often ask me, why do I tweet.  There are about 100 BITSians I know, who are on Twitter.  But, barely 20 among them are active by any standard on Twitter.  What they don’t know, is that it took a lot of convincing by @jeffjose, to get me on to Twitter.  I won’t get into all the stuff that he told me, but I will tell you about one very amazing person I found on Twitter, which has ensured that I will never stop using it.

What I've Been Reading

This XKCD cartoon should tell you what i’ve been upto in the last few weeks. :smile:

Random Post

A look at things that happened over the last week:

A Shell Quirk

Here’s a quirk that I noticed, while coding today.  Was writing a function to test if a directory exists, and to make the directory doesn’t exist.  Shell offers the test command, used with an if statement, to solve this.  Here’s what I wrote:
[ expression ] is a synonym for [ test expression ].  Interestingly, this peice of code did not work.  So, I had to make do with this:
Could someone tell me if it’s a syntax/logic error that I have made?  Or is it a problem with the BaSH test command?

The Good Old Days

There used to be a time, when the only thing we watched TV for was cartoons… There used to be a time, when we would comb through libraries for the latest Hardy Boys and Harry Potter… There used to be a time, when we were innocent… There used to be a time, when the only thing that mattered were friends… There used to be a time, when the report card at the end of the semester was a highly dreaded peice of paper… There used to be a time, when we would make pure fun of our teachers… There used to be a time, when our parents and teachers were our first idols… There used to be a time, when all our actions were spontaneous, and not planned and conceitful… There used to be a time, when the candy at the canteen used to be a weekly treat… There used to be a time, when we dreamed big… There used to be a time, called childhood… There used to be a place, called school… They were the good old days… Never to come back again… I miss you all… Ashish, Rohan, Saurabh, Udyam,  Anant, Manoj, Tejashree, Pushkar, Tejas, and everyone from RJEMHS & Xavier’s

None of the Above

It’s been a long time since I last posted something on this blog.  And lots of things have happened since then.  One thing that is on everyone’s mind these days is the Terrorist Attack on Mumbai that happened last week. Here are a few brilliant pictures of the attack.  Everyone across India watched in awe as media broadcasted live images of one of the worst terrorist attacks that Mumbai has faced in recent times.  That this entire event was a tragedy of the largest scale is beyond dispute.  But what is even worse, is the aftermath of the attacks that have happened in Indian Politics.  Here are a few news reports on the internet after the attack (sources: NDTV.com and IBNLive.com alerts):

Oasis Hangover…

The hooter has started ringing again every hour. The class rooms are now filled with benches. The beds were taken away a long time back. The black boards are filled up with equations and diagrams, as against the drawings and funds by club and department members. BITSians have started attending lectures and tutorials again, in the hope of garnering the last few marks before the compres. Sky is now filled with school children visiting the museum again. The C and M lawns are now once again their bare self. The Audi doors are closed for the entire day. The FD-II QT is no longer the center of activity for Informalz, HAS and Jhankar. People have returned to SAC, Cnot and ANC to feed their hunger in the night. The Art n Dee structure is no longer the host for DoPy clickers and outsti’s. The Photog exhibition is over. I have returned to my hostel room to live in it. It’s been only a week since Oasis got over… And I miss it.

Some Links

Here are a few sites that I have been reading recently:

Another Week Passes

Disclaimer: This is a diary posting. Anyone not interested may please stop reading.

Blog goes online!

I have now moved my blog online to http://ninad.x10hosting.com/blog/. Surprisingly, the shifting of the blog to a new host was not at all difficult, except for the part of uploading the .tar.bz2 file to the new location. This is due to the great internet connection at my college. A how-to to setup a WP blog on this host will be up soon… :smile:

I am back!

It’s been quite a few days (16, to be exact) since my last post… And , my hands have been itching to write a new post. But, fate had different ideas, and things just kept coming up, keeping me busy.

Exam Break…

Hey everyone, this blog gets a break for this week, thanks to exams… :unamused:. Meanwhile, here are some things that I have been up to in the last few days…

The Circus has opened…

Yesterday, the Student Union kindly arranged for a ‘Fresher’s Day’ in the Audi. It apparently was an effort to rouse interest among the new batch of BITSians about the various co-curricular activities and festivals. These are major events on the BITSian calendar. As a result, almost all the Clubs and all the Departments turned up for the event, vying for the attention of the coveted First Yearites, who will be a major part of the workforce throughout the next 2-3 years.

Back to Top ↑

Linux/Ubuntu

MySQL - Moving datadir

For the last few hours, I had been piddling around with the folder hierarchy on the host that runs this blog. I use an Amazon EBS backed instance for this job. I started off with a simple setup, where I had all the data on one single EBS volume, which included all the MySQL databases along with the webroot. If I borked this setup, there was no way I could painlessly restart a new instance and have the website up and running within half an hour. Switching the web root directories for Apache is pretty easy, and I had already done that a few times. However, I had never tried switching the data directory for MySQL before. I always used the default location in Ubuntu, /var/lib/mysql. I also had to consider the space issue. ThinkUp’s database turns into a beast if you’ve been running it for a few months. With my paranoid backup policy, there was a high chance I would run out of space on the root EBS volume pretty soon.

Show hostname and username during ssh in screen or byobu’s window title

At work, I have to access multiple test servers over ssh.  Most users of screen/byobu would follow the examples here to set the current screen window’s title to show the username and hostname of the remote host.  However, all the steps involve either figuring out the slightly cryptic syntax for the hardstatus and caption commands of screen, or modifying the prompts on the shells at the remote host.  Most of the servers I connect to, being test machines, are regularly cleaned.  Hence, I cannot rely on safely keeping my configuration files on those machines.

MiniDebConf @ COEP Tomorrow!

I’ve been in Pune for almost a month now, but due to the 6 day week schedule at my Practice School 2 station and GSoC hacking, I’ve not had a chance to get in touch with the very active Pune Linux Users Group (PLUG) people.  Thankfully, the guys at Uncode, Free Software User Group at PICT and PLUG got together and decided to organize the MiniDebConf 2010 India at Pune, giving me a chance to meet these guys.  The MiniDebConf details are:

Upgrading to Lucid at the BITS Network

Canonical recently released the latest version of Ubuntu, Ubuntu 10.04 Lucid Lynx.  It is an excellent upgrade to Ubuntu, with some nice features and UI/UX improvements on GNOME.  KDE too has had quite a few improvements, with the latest KDE4.4 SC being included in the final release.  Reviews of the distro can be found pretty easily on the net, as Lucid, a Long Term Support release, has been eagerly awaited.

OSScamp Pilani March 2010

The winds of open source computing are now blowing towards Birla Institute of Technology and Science, Pilani with an Unconference being organized by the Computer Science Association (CSA). The 5-day fiesta of BITS-Pilani’s international annual technical festival APOGEE to be held this year from 10th- 14th of March sees the confluence of thoughts and ideas amongst more than 5,000 young minds from not only India but also the world’s top notch universities and the OSScamp is being held as a part of this fest. For those who do not know, OSScamp is a thriving, young and vibrant community of open source enthusiasts in India. The community revolves around ‘Unconference’ that are also called as camps. At a Camp, we will be

choqoK - A KDE Client for Twitter

Due to the simple API of Twitter, the world has seen a huge number of applications being written for it, ranging from simple applications that will just post and show tweets, to applications that guzzle the public timeline and apply all sorts of fancy algorithms, generating very interesting results. Today, we’ll have a look at something on the simpler side, choqoK. Currently at version 1.0 alpha, this is a pretty recent application, and has been adding a lot of features since it was released for the first time in late December, 2008.

Commandline Fu

People who have been reading this blog for sometime, will know that I am a huge fan of the command line. I love to find new ways to do things from the command line, without leaving the comfort of my keyboard and dragging my hand all the way to the mouse. Recently, I found a site that let’s me do learn brilliant tricks:

Opera 10 released!

Today, Opera released the latest version of it’s browser, Opera 10. This release marks a major step forward in the life of the Opera Browser, as it includes a lot of new features that have raised the bar in the browser market.

How to install Amarok 1.4 on Jaunty

This is for all those Amarok 1.4 fans out there, who miss it, and are stuck with Amarok 2.x in (K)Ubuntu Jaunty.  A few days ago, I was reading a discussion on Reddit, about the general frustration of users with Amarok 2.x, and I came across this jewel.

Amarok 2.1.1 released

Amarok 2.1.1 Oceania was released a few days ago.  Slowly, ever since Amarok 2 has been released, the quality and features of Amarok 2 are improving.

LG LXU800 Dialer on Ubuntu Jaunty

It’ s been a few days since I’ve reached home.  One of the first things I did after getting back home, was to setup up a net connection with my laptop.  Recently, the folks at home had to replace the Huawei Data Card (a PCMCIA slot based dialer) that Reliance offers, with the LG LXU 800 USB dialer.

Jauntied, with a few scares!

This is the story of my laptop’s upgrade from Ubuntu Intrepid Ibex to Ubuntu Jaunty Jackalope (currently beta) It started a few days ago, when I got hold of an alternate ISO for Jaunty beta, thanks to a fantastic downloader on our campus. (For those not familiar with the BITSian net, we are not supposed to download files > 20 MB and also the speeds are painfully slow.)  The ISO was dutifully mounted to the system and the upgrade started:
It asks me whether I want to include the latest packages from the Ubuntu repositories.  After a ‘Yes’, it downloads all the new package lists (which takes upto an hour).  The package lists sources are modified, newer package lists are downloaded, the upgrader calculates the size of downloads, and confirms it.  Now begins the tough game of waiting.  Downloading almost 1200 MB of packages at speeds that can range from 398 B/s (anytime between 1900 to 0300) to 60 kB/s (0500).  The result is that the connection breaks many times, and the entire upgrade process starts from step 1.  After struggling with the net for about 4 days, I finally have all the packages downloaded to my disk, and the actual upgrade starts.

ACAD - How to generate random characters on Shell

I was making a few files yesterday, which I needed to be filled with garbage.  As I was working in good old BaSH, I was not in a mood to go to either C or any other language, as i/o redirection would have been a little complicated.  Google came to the rescue, and I found this brilliant way:
~$: hexdump -n100 -e\"%u\" /dev/urandom > file.txt
Here’s how it works:

ACAD - ImageMagick again!

Here are the results of a vetti afternoon after a pathetic (read Optimisation Techniques) comprehensive exam:

ACAD - Monitoring Tools

A lot of us computer fans are stat freaks. We take pains to cover the minutest of details and follow them with a zeal. We always use the statistics to keep a watch on the health of our computer. I’ll discuss some of the tools I use, today.

ACAD - How to delete viruses from a pen drive with find

Pen drives or thumb drives, are the most susceptible to computer viruses (Windows based), and they are the most popular way today for a virus to spread. Being small, handy, and convenient because they run on USB, they are used on a large scale by everybody. Viruses which infect them, follow a particular pattern of infecting them.

ACAD - wbar

Time to jazz up your Ubuntu with a Mac OS/X style doc, which will not put too much of a load on your processor. Wbar has been popularised in gOS Gadgets, where it has replaced the iBar as the default dock. To do this, you do not need to add any repositories or any complex stuff. All you have to do is download two .deb packages (yeah, no compilation from .tar.gz!), and install them! So here’s how you do that.

ACAD - bash tips

We get back to the most powerful tool on Linux, and my favourite, the Shell. Specifically, we will have a look at some of the features that the Bourne Again Shell (bash) has to offer for command line users. Some of these features are also supported by other shells. A lot of these tricks are common place for power users, and I hope that they will be very useful for newer users.

ACAD - Psi 0.12 on Ubuntu

Here’s what I was up to yesterday the entire night… I compiled the latest stable version of Psi, a Jabber client, just like Pidgin and Kopete. The latest stable release is Psi 0.12 and it’s source can be downloaded from here. I prefer Psi over the rest because it is as cross-platform as cross-platform can get. It is identical in functionality on Linux, Mac and Windows XP/Vista, and even the looks are comparable. I also like the iconsets that can be downloaded for Psi and it’s sounds are delightful, unlike the dull sounds of Pidgin. :smile:

ACAD - wget PII

Continuing from the last episode of ACAD, we’ll try to understand the very powerful and versatile downloading tool, wget. As you might have seen from the examples we looked at yesterday, it is not possible to download more the one link at a time in wget. This can be taken care of by specifiying a list of all the links in a simple .txt file, as follows:

ACAD - wget PI

Today, we’ll have a look at one of my favourite download managers. Every Linux system includes this tool, wget. It’s manpage describes it as the perfect tool to download on slow, unstable network connections. I second that, having used it on our LAN, which is notorious enough to not work when we need it the most, especially for our academic work. It works best as a background process, which means that you can start wget, send it to the background, and forget about it (for some time :smile: ). It will run in the background, periodically updating the log file, and complete your download(s) without interfering with your work. However, do not expect lightning fast speeds from wget as it cannot thread files into chunks and download parts simultaneously. Let’s have a look at the basic usages of wget today. The rest will be covered in the next ACAD post.

ACAD - Amarok tips

Amarok is the best audio player available on Linux, as those of you who have used it will agree. I personally rate it the best audio player available right now, better than iTunes, Winamp, and miles ahead of Windows Media Player. We’ll have a look at some tips and tricks that will help you ‘Rediscover Your Music’.

ACAD - 24 Aug 2008

OK, here’s something fun for you guys to experiment with. I’ll show you how to send messages across terminals on a Linux system. This is can be quite useful if you have to suddenly shut down the system and need to inform all logged in users. though, the shutdown command has a built-in function to take care of just that. This is what you’ll need to pass messages:

ACAD - montage

Well, here goes the post on montage, as I had promised yesterday. Before we have a look at montage, we’ll have a look at ImageMagick. It is a suite of image editing tools, that can do almost anything to over a 100(!!!) different types of bitmap images. It is most popular for it’s ability to batch process files, support for a scripting language and hence has found it’s way to many sites that require some sort of image editing. You can see ImageMagick at work at the Photography Club Gallery.

ACAD - How healthy is my computer?

Today, we’ll have a look at some commands that will report your system’s vital statistics. First and foremost, we’ll see how long has your computer been on. Here’s a sample from my system:

ACAD - locate files on your Linux system

Windows has the Search function to find files on your hard disk.  But we all know that it is quite a PITA, and really slow (especially on XP), to search for the file.  Linux too has a similar program to help you search for files stored on your system.  It’s name is ‘locate’ and it is a command line utility available on every Linux system.

ACAD - How Hot is my Computer???

Today, I’ll give you a small script that will give the temperature of your CPU at a given time.  This is a very simple shell script, which contains a command to display the temperature of the CPU.  Here’s what you have to do…

Installed Ubuntu… What happened to my computer???

Ever since Ubuntu started shipping free CD’s of it’s Operating System, and Fedora in magazines like Digit, a lot of people on campus have installed Linux on their systems, in an attempt to use it. Now, that is great news for the Open Source and Linux community. This should lead to the development of a large number of applets and applications from our campus, as we have some of the best brains, right? However, this has not happened. When people install Ubuntu and do not find the ‘Start’ button that they are so used to, or many other common applications like the Internet Explorer (an application that I try to avoid as far as I can), IPMsg and DC++, they get frustrated and format the Ubuntu partition, just to find out that the GRUB loader is now clueless and the system doesn’t boot!

ACAD - grep

Imagine this… You have just created a Web site with about a hundred different HTML and PHP files. There is a particular string that has to be replaced, and you don’t remember which file it was in, or where it was in the file. What do you do at such a time? Make the computer do all the hard work, and you do the smart work. Here’s a solution:

ACAD - How to setup WordPress on a Ubuntu system

Today, we’ll have a look at how to install a WordPress blog on a freshly installed Ubuntu system. The procedure will be similar for most of the other Linux Operating Systems, with only the references to the package manager and a few other basic directories differing. In Windows too, it can be done very easily, if you know the right softwares. I’ll mention the ones that I know. Installing WordPress occurs in two steps, Setting up a LAMP/WAMP server, and installing WordPress.

ACAD - nslookup

As I promised yesterday, here’s a neat little tool to query the DNS servers, nslookup. This is primarily used to check the DNS for the IP address of a particular domain name. However, a simpler use is to check if the DNS server at IPC is working or not. The command is run in its simplest form on the command prompt of both Windows and Linux as

ACAD - OpenDNS.com

All of you who think that ACAD is about academics, please stop reading here… ACAD is A Command A Day, where I will post tips and tricks on using Linux, and Ubuntu in particular. Some of the information that you will see here can be found on the man pages of the commands, however, I will attempt to simplify it and not do a straight copy-paste.

Back to Top ↑

Hobbies

Potential Barcamp Talks - BCB 2014

The next Barcamp Bangalore is still some time away. And, I am constantly on the look out for some interesting topics, both to learn and talk about. Previous experience has shown that if I do not note them down somewhere, I will most probably forget the topics. So, here goes:

So long, PHP

Like most of my blogposts in recent times, this one starts in the dark ages. School was when I was introduced to computers and programming. The staple diet of computer classes then was Logo. With 2 or more kids to a computer, we used to move the turtle around the screen for the entire period. It was fun, trying to confuse the computer with inputs from what was essentially 2 brains acting as 1.

Frankfurt Auto Show 2013

On a whim, I decided to go all the way back to the first post on this blog. I was a little shocked to note that it has been more than 5 years since I have been irregularly blogging. But, I was more than a little surprised to note that one of my passions had absolutely zero mention. Like every other guy, I am a #PetrolHead.

Recursively Zip a directory with PHP

Google’s results for code snippets to create a .zip archive with PHP gives quite a few results. However, none of the code examples can recursively compress a directory and replicate the same structure in the .zip archive. One code snippet from the PHP Manual’s reference page for Zip functions comes pretty close, but the RecursiveDirectoryIterator never worked for me. The code always failed with an error about excessive recursion, with the script reaching the limit of 100 recursion levels.

Summer of Code - Week 12

And, it’s finally over! :open_mouth:  My round up of the Google Summer of Code experience will have to wait a little, as I want to spend time compiling the exact changes I made, as against the ones I set out to do at the beginning.  However, here’s my slightly delayed weekly report for the last week of GSoC.

Summer Of Code - Week 11

Ah! It’s already the 9th of August over here. This means that we have come to the end of the coding period of the Google Summer of Code and work on documentation starts. A peek at the git commit log shows that I have covered most of the tasks I set out to do for this week:

MiniDebConf @ COEP Tomorrow!

I’ve been in Pune for almost a month now, but due to the 6 day week schedule at my Practice School 2 station and GSoC hacking, I’ve not had a chance to get in touch with the very active Pune Linux Users Group (PLUG) people.  Thankfully, the guys at Uncode, Free Software User Group at PICT and PLUG got together and decided to organize the MiniDebConf 2010 India at Pune, giving me a chance to meet these guys.  The MiniDebConf details are:

Summer of Code - Week 10

Things have been a little slow the last week, thanks to preparations for a small family function today.  But, I did get a decent amount of time to work on the code last week.  Here’s what the git commit log says:

Summer of Code - Week 9

Damn!  It’s already the end of Week 9!  The Google Summer of Code has only 3 more weeks to go, and it feels as if it was just yesterday that I started working on phpMyAdmin.

Summer of Code - Week 4

Due to some issues at my hosting service, this blog post is appearing almost a week late. I am extremely sorry for the trouble caused.

Summer of Code - Week 3

Due to some issues at my hosting service, this blog post is appearing almost 2 weeks late.  I am extremely sorry for the trouble caused.

The Summer of Code - Week 1

Week 1 of the Google Summer of Code is over and time is moving pretty fast.  Tasks completed this week:

Upgrading to Lucid at the BITS Network

Canonical recently released the latest version of Ubuntu, Ubuntu 10.04 Lucid Lynx.  It is an excellent upgrade to Ubuntu, with some nice features and UI/UX improvements on GNOME.  KDE too has had quite a few improvements, with the latest KDE4.4 SC being included in the final release.  Reviews of the distro can be found pretty easily on the net, as Lucid, a Long Term Support release, has been eagerly awaited.

OSScamp Pilani March 2010

The winds of open source computing are now blowing towards Birla Institute of Technology and Science, Pilani with an Unconference being organized by the Computer Science Association (CSA). The 5-day fiesta of BITS-Pilani’s international annual technical festival APOGEE to be held this year from 10th- 14th of March sees the confluence of thoughts and ideas amongst more than 5,000 young minds from not only India but also the world’s top notch universities and the OSScamp is being held as a part of this fest. For those who do not know, OSScamp is a thriving, young and vibrant community of open source enthusiasts in India. The community revolves around ‘Unconference’ that are also called as camps. At a Camp, we will be

Commandline Fu

People who have been reading this blog for sometime, will know that I am a huge fan of the command line. I love to find new ways to do things from the command line, without leaving the comfort of my keyboard and dragging my hand all the way to the mouse. Recently, I found a site that let’s me do learn brilliant tricks:

Opera 10 released!

Today, Opera released the latest version of it’s browser, Opera 10. This release marks a major step forward in the life of the Opera Browser, as it includes a lot of new features that have raised the bar in the browser market.

How to tweet using your own PHP script

In the last post, we had a look at the HTML and jQuery code which will be used to post tweets from a user to his Twitter profile. Today, we spend some time on the back end, the actual PHP code. As I have mentioned before, this is a sample code, and hence involves very little validation. When writing code for production/personal use, please include necessary validations in it.

How to Tweet using your own PHP script - 1

Twitter is the darling for many folks on the internet these days.  The sheer simplicity of Twitter is what makes it so endearing.  This simplicity is observed not only in it’s UI and UX, but also in it’s brilliant API.  With one of the most well documented APIs I have seen to date, for a web service, it is pretty easy to fiddle with Twitter.

How to install Amarok 1.4 on Jaunty

This is for all those Amarok 1.4 fans out there, who miss it, and are stuck with Amarok 2.x in (K)Ubuntu Jaunty.  A few days ago, I was reading a discussion on Reddit, about the general frustration of users with Amarok 2.x, and I came across this jewel.

Amarok 2.1.1 released

Amarok 2.1.1 Oceania was released a few days ago.  Slowly, ever since Amarok 2 has been released, the quality and features of Amarok 2 are improving.

LG LXU800 Dialer on Ubuntu Jaunty

It’ s been a few days since I’ve reached home.  One of the first things I did after getting back home, was to setup up a net connection with my laptop.  Recently, the folks at home had to replace the Huawei Data Card (a PCMCIA slot based dialer) that Reliance offers, with the LG LXU 800 USB dialer.

Jauntied, with a few scares!

This is the story of my laptop’s upgrade from Ubuntu Intrepid Ibex to Ubuntu Jaunty Jackalope (currently beta) It started a few days ago, when I got hold of an alternate ISO for Jaunty beta, thanks to a fantastic downloader on our campus. (For those not familiar with the BITSian net, we are not supposed to download files > 20 MB and also the speeds are painfully slow.)  The ISO was dutifully mounted to the system and the upgrade started:
It asks me whether I want to include the latest packages from the Ubuntu repositories.  After a ‘Yes’, it downloads all the new package lists (which takes upto an hour).  The package lists sources are modified, newer package lists are downloaded, the upgrader calculates the size of downloads, and confirms it.  Now begins the tough game of waiting.  Downloading almost 1200 MB of packages at speeds that can range from 398 B/s (anytime between 1900 to 0300) to 60 kB/s (0500).  The result is that the connection breaks many times, and the entire upgrade process starts from step 1.  After struggling with the net for about 4 days, I finally have all the packages downloaded to my disk, and the actual upgrade starts.

Image Organizer for WordPress

This is my revised application for Google Summer of Code at WordPress. Please feel free to post your comments/suggestions:

Back to Top ↑

PHP/jQuery

Potential Barcamp Talks - BCB 2014

The next Barcamp Bangalore is still some time away. And, I am constantly on the look out for some interesting topics, both to learn and talk about. Previous experience has shown that if I do not note them down somewhere, I will most probably forget the topics. So, here goes:

So long, PHP

Like most of my blogposts in recent times, this one starts in the dark ages. School was when I was introduced to computers and programming. The staple diet of computer classes then was Logo. With 2 or more kids to a computer, we used to move the turtle around the screen for the entire period. It was fun, trying to confuse the computer with inputs from what was essentially 2 brains acting as 1.

PHP, FILE and symlinks

I’ve made this mistake so many times, that I have to note it down somewhere and not make it again.

Recursively Zip a directory with PHP

Google’s results for code snippets to create a .zip archive with PHP gives quite a few results. However, none of the code examples can recursively compress a directory and replicate the same structure in the .zip archive. One code snippet from the PHP Manual’s reference page for Zip functions comes pretty close, but the RecursiveDirectoryIterator never worked for me. The code always failed with an error about excessive recursion, with the script reaching the limit of 100 recursion levels.

Summer of Code - Week 12

And, it’s finally over! :open_mouth:  My round up of the Google Summer of Code experience will have to wait a little, as I want to spend time compiling the exact changes I made, as against the ones I set out to do at the beginning.  However, here’s my slightly delayed weekly report for the last week of GSoC.

Summer Of Code - Week 11

Ah! It’s already the 9th of August over here. This means that we have come to the end of the coding period of the Google Summer of Code and work on documentation starts. A peek at the git commit log shows that I have covered most of the tasks I set out to do for this week:

Summer of Code - Week 10

Things have been a little slow the last week, thanks to preparations for a small family function today.  But, I did get a decent amount of time to work on the code last week.  Here’s what the git commit log says:

Summer of Code - Week 9

Damn!  It’s already the end of Week 9!  The Google Summer of Code has only 3 more weeks to go, and it feels as if it was just yesterday that I started working on phpMyAdmin.

Summer of Code - Week 4

Due to some issues at my hosting service, this blog post is appearing almost a week late. I am extremely sorry for the trouble caused.

Summer of Code - Week 3

Due to some issues at my hosting service, this blog post is appearing almost 2 weeks late.  I am extremely sorry for the trouble caused.

The Summer of Code - Week 1

Week 1 of the Google Summer of Code is over and time is moving pretty fast.  Tasks completed this week:

The Summer of Code - Index

In my last post, I mentioned that I’ll be creating a list of tasks to complete over the summer. It’s been posted at this pastebin. Kindly check it out and add to it if I’ve missed anything important. :smile:

$(document).ready fails on Internet Explorer 6

I have been interning at a company for the past few weeks, where I worked on jQuery. It’s a Javascript framework, and one of the primary reasons for using it was to not to worry about browser incompatibility issues. I happily coded away, testing my code in Firefox, Opera and Chrome as I went along. Internet Explorer compatibility was a very important issue for us, as our target audience had a large set of users who would still be using sucky IE6, and some more would be using IE7. But, compliance with IE was something we all took up very late into the project.

How to tweet using your own PHP script

In the last post, we had a look at the HTML and jQuery code which will be used to post tweets from a user to his Twitter profile. Today, we spend some time on the back end, the actual PHP code. As I have mentioned before, this is a sample code, and hence involves very little validation. When writing code for production/personal use, please include necessary validations in it.

How to Tweet using your own PHP script - 1

Twitter is the darling for many folks on the internet these days.  The sheer simplicity of Twitter is what makes it so endearing.  This simplicity is observed not only in it’s UI and UX, but also in it’s brilliant API.  With one of the most well documented APIs I have seen to date, for a web service, it is pretty easy to fiddle with Twitter.

Back to Top ↑

phpMyAdmin

Summer of Code - Week 12

And, it’s finally over! :open_mouth:  My round up of the Google Summer of Code experience will have to wait a little, as I want to spend time compiling the exact changes I made, as against the ones I set out to do at the beginning.  However, here’s my slightly delayed weekly report for the last week of GSoC.

Summer Of Code - Week 11

Ah! It’s already the 9th of August over here. This means that we have come to the end of the coding period of the Google Summer of Code and work on documentation starts. A peek at the git commit log shows that I have covered most of the tasks I set out to do for this week:

Summer of Code - Week 10

Things have been a little slow the last week, thanks to preparations for a small family function today.  But, I did get a decent amount of time to work on the code last week.  Here’s what the git commit log says:

Summer of Code - Week 9

Damn!  It’s already the end of Week 9!  The Google Summer of Code has only 3 more weeks to go, and it feels as if it was just yesterday that I started working on phpMyAdmin.

Summer of Code - Week 4

Due to some issues at my hosting service, this blog post is appearing almost a week late. I am extremely sorry for the trouble caused.

Summer of Code - Week 3

Due to some issues at my hosting service, this blog post is appearing almost 2 weeks late.  I am extremely sorry for the trouble caused.

The Summer of Code - Week 1

Week 1 of the Google Summer of Code is over and time is moving pretty fast.  Tasks completed this week:

The Summer of Code - Index

In my last post, I mentioned that I’ll be creating a list of tasks to complete over the summer. It’s been posted at this pastebin. Kindly check it out and add to it if I’ve missed anything important. :smile:

The Summer of Code - Prologue

Google Summer of Code 2010 is about to begin, and the community bonding period is over.  The official coding period starts tomorrow, so here’s a brief post about what I’ve been upto (other than trying to study for my last semester exams, which I’m pretty sure were a disaster):

AJAXify the phpMyAdmin Interface

This is my proposal for the Google Summer of Code 2010 at phpMyAdmin, and it has been selected among the six project proposals to participate in GSoC 2010.  The mentor for the project is [Marc Delisle][1] (lem9).  During the project, the actual implementation of this project will most probably change, and things may not go exactly as per this plan.  But, I will do my best to stick to this plan, and incorporate all the feedback that the community will provide.  The time that I’ve spent till now in the community, while participating in the mailing lists, has been good, and I am looking forward to a good summer, filled with lots of learning and also some good coding.  :smile:

Back to Top ↑

Bangalore

Potential Barcamp Talks - BCB 2014

The next Barcamp Bangalore is still some time away. And, I am constantly on the look out for some interesting topics, both to learn and talk about. Previous experience has shown that if I do not note them down somewhere, I will most probably forget the topics. So, here goes:

Barcamp Bangalore 13

It’s been more than a month since BCB13 happened, so this post is a little late. But, as most of you might know by now, I’m pretty lazy when it comes to writing.

Back to Top ↑

Reading

Weekly Links 25/2023

Inspired by Sathya’s weekly notes posts, I’m restarting my link sharing posts again. I suspect that the next few posts will be a mixed bag in terms of topics and themes, and maybe in the future I’ll figure out how to nicely categorise them.

Links - March and April 2014

March and April have again been low online activity months, with Barcamp Bangalore grabbing some share of my free time, along with George Orwell’s 1984 and Randy Pausch’s The Last Lecture.

Links - February 2014

February has been a low internet activity month. I’ve been reading City of Djinns and Immortals of Meluha, so my time spent in reading online stuff has been limited.

Links - January 2014

This has been a slightly slow reading month for me, as I’ve been reading a couple of dead tree books and travelling. But, there were still a few noteworthy articles for this month:

Links - December 2013

The December edition of things I’ve been reading is ready to serve, hot off the presses. This month (and the next) contain a lot of links from different Advent blogs, because they just have some amazing and at times, thought provoking content.

Back to Top ↑

SAP

The Fellowship Diaries - Episode 4

If you have been following the posts from the Fellowship Diaries, you would remember the primary purpose for this entire circus was to learn. With about 2 weeks remaining for the fellowship to end, it makes sense to take stock of the things I have learnt in the past few months.

The Fellowship Diaries - Episode 3

Right now, India is celebrating Diwali. It is the yearly extravaganza of the country, where almost everybody goes back home. But, I’m here in Germany. And, I’m in no mood to work. So, I shall indulge in some wishful thinking this time, in my diary entry.

The Fellowship Diaries – Episode 2

In the previous diary entry, I had mentioned that I was neck deep in research papers. Soon after that, things started picking up some pace. After having looked at how the world was attempting to solve this problem, we decided to do some soul searching. We looked at any and all relevant features that exist in SAP systems, and how we could improve them. We also brainstormed and created our ideal solution to the problem. And then, we rolled up our sleeves, sat down at our desks, and started work.

HANA - Why am I Excited

Much has been written (and said) about the speed gains that main directives for development of SAP products, but not one emphasised enough, I decided to spend some time understanding it.

Back to Top ↑

Photography

My Experiments With Bulb

Here’s a snap from a set that I have been working on. It’s from a set, ‘My Experiments With Bulb’, an attempt to capture the simple light bulb from different angles. This snap was clicked during the Photography Workshop Clicking sessions in APOGEE ‘08. It was clicked while Tullu was upto his tricks, clicking snaps for the ‘On The Spot’ competition. Clicked with Apoorv’s Canon S5IS in B/W mode. A sepia shade was added to it in Photoshop, along with the watermark and the border. To see more of My Experiments With Bulb, visit this or this.

Back to Top ↑

Music

An ode to an Ode

The track opens with crystal clear, alternating notes of a guitar. To the trained ear, it feels like the home run. The newbie will notice the calm dexterity of the guitar player, but not realise that it is the precursor of a storm. The bass guitar creeps in, and the solid, gentle vocals start laying the foundation of the track.

Music Club Pilani - 2 videos

I finally found a video of the Music Club (BITS Pilani) performance of Toss the Feathers online. I also found another amazing performance by them, from the same concert, an A Capella performance of Aap Jaisa Koi.

2011 Concerts

A list of concerts I attended in 2011

Back to Top ↑

Astronomy

Back to Top ↑