2024
Weekly Links 29/2024
We’re back, after a hiatus! I’m learning a bunch of random things these days, here’s an assorted collection of links:
- I started Recurse Center last week, and have been meeting many new folks. Shenai wrote up about their experience of starting to learn Emacs, and ended up focussing on keyboard shortcuts as a way of life. I’ve had long discussions about this very topic with friends, and it’s good to hear opinions from other folks periodically.
- I use Firefox as my primary browser, and one of the actions I do numerous times a day is to search for a tab. I sometimes use the mouse/pointer to click on
Search Tabs
, but had not found a good keyboard shortcut for it in the usual Keyboard Shortcuts documentation. Shenai’s post nagged me to fix this, and I finally found it:ctrl+l
(orcommand+l
if you’re on macOS) to focus on the address bar, followed by a%<space>
to search through the tab titles/URLs. - This discussion also prompted me to go and search for one of the best
vim
tutorials/resources I have found so far: Learn Vim Progressively. This post has been around for a really long time (with a publish date of 2011-08-25!), but I had never bookmarked it. After trying to search for a variety of similar terms, I eventually found this post. Now that it’s documented here, I will always have a quick reference. - Another Recurser, K. Matt Dupree, recently wrote about how Internal tools often make bad startup ideas. I’ve been noodling on ideas for what I can try to build as projects, and the associated HN discussion are super relevant, and will help me filter through my ideas a bit better.
- A slightly long post about how Microsoft and SAP are lobbying in the German government, and how that entire effort is to handle data localisation and other statutory requirements, but it may, in reality, may not be the case due to the complexity of modern hyper scaler cloud systems. This article is in German, and I read a translation, so I only got the gist of it all. India (and many other countries) have been amping up the pressure to localise more and more data (it’s started with financial transactions, and will eventually spread out to other domains). I can understand the data privacy implications, but I also can see how it is impossible to design modern SaaS products and services without breaking some of these expectations. I don’t think there is ever going to be a right way to deal with this, and I’ll keep reading about how everyone is approaching this topic.
Old Pi Gets a New Life
I’d love to tell you the story of a project I’ve been pecking away at, for the past few days. It’s a long, winding path, so I recommend brewing a cup of your favourite potion before you start reading the rest of the story. For the folks in a hurry, the TL;DR: is to just jump to the code snippets at the bottom!
2023
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.
2022
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.
2021
Kubernetes Deconstructed - AWS Community Day South Asia 2021 Session
TL;DR: Kubernetes Deconstructed - AWS Edition’s original video is linked at the bottom. I had a great time working through all this!
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.
2020
Introducing Thrift VPN
TL;DR: Wireguard + Tiny AWS Instances + Spot Pricing in an automated setup https://github.com/ninadsp/thrift-vpn
2014
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.
Zoom for the moon
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:
2013
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.
Links - November 2013
The November 2013 list is ready!
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.
Links - October 2013
Stuff that I have been reading this past month.
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.
I Have a Dream
This is a transcript of a speech by video :smile:
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.
openHPI’s In-Memory Data Management course starts again!
Just so you know, the openHPI course that explains how In-Memory databases work is starting again tomorrow (26 August 2013). Further details are available at: https://openhpi.de/course/imdb2013
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.
The Fellowship Diaries - Episode 1
reSEARCH v/s jOb
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
The Fellowship Diaries - Episode 0
Epilogue
Times change, time doesn’t
BCB Twitter Streaming is up on Github
You are in a brand new BMTC Volvo if…
Signs that you are travelling in a brand new Volvo bus deployed by BMTC:
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.
गाडी सुटली, रुमाल हलले
गाडी सुटली, रुमाल हलले, क्षणात डोळे टच्कन ओले गाडी सुटली, पडले चेहेरे, क्षण साधाया ह्सरे झाले गाडी सुटली, हाता मधुनी हात कापरा तरी सुटे ना अंतरातली ओली माया तुटुदे म्हटले तरी तुटे ना का रे इतका लळा लावुनी नंतर मग ही गाडी सुटते डोळ्यानदेखत सरकत जाते आठवाणींचा ठिपका होते गाडी गेली, फलाटावरील नि:श्वासांचा कचरा झाला गाडी गेली, डोळ्या मधल्या निर्धाराचा पारा फुटला
2012
Server moved, ThinkUp crawler fails. Stupid me
php5-curl must be installed for the ThinkUp Crawler to run
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
The BCB12 session on impress.js
The session timeline was as follows:
The weekend that was
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.
BCB12 PosterMash Entry - Space Invaders
Barcamp Bangalore 11 - Observational Astronomy 101
Content for the session on Observational Astronomy 101 at Barcamp Bangalore 11 can be downloaded from here. Almost all the photos are from NASA’s amazing Astronomy Picture of the Day archive. Some are from Wikipedia. Check the credits.txt file for details.
2011
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:
Bechara Maara Gaya - A Mashaal Production
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.
Quirky India
2010
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 8
Tasks completed in Week 8:
Summer of Code - Week 7
Tasks completed in Week 7:
Summer of Code - Week 6
Tasks done in Week 6:
Summer of Code - Week 5
Tasks done in Week 5:
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 2
Tasks for Week 2 of the Google Summer of Code, and their status:
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
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
2009
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.
Ganapati Bappa Moraya!
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 Bug in Psi since Ubuntu 8.10
Here’s a bug that I came across, when I was trying to enable GnuPG encryption in Psi today.
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…
The Astronomy Workshop - APOGEE 2009
Cross-posted at BITS APOGEE blog:
Art Meets Technology - Photography Club at APOGEE 2009
Cross-posted at the BITS-APOGEE blog:
2008
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.
The Photog Mosaic
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.
Yet another Montage
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:
Virasat ‘08, SPIC MACAY
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:
Rocking Amusement Forum
R.A.F.
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:
This week’s calendar
Here are a few events coming up this week, that I am looking forward to:
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…
Happy Independence Day!
Here’s a song that I really like…
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.