Tuesday, December 28, 2010

Internet struggle

I've been taken back to my pre dsl days, thanks to the MTS MBlaze stick I recently acquired. The connection is best effort, speeds go down to a few bytes, forcing me to refresh a page at-least thrice before I can see it. All of this has made for a great vacation and bad experience. Sigh! I should have done much more research before acquiring a USB modem stick. I should probably move on to the 3G sticks available.

Wednesday, December 08, 2010

cgroup proposal for use in SLURM

I came across the following slides about using cgroups with Slurm. Very exciting to see cgroups be used more widely. For those of you who missed it, there is also a long discussion on autogrouping using tty's.

Saturday, November 13, 2010

FOSS.IN 2010 list of talks announced

The final list is here http://foss.in/talks/final-list.html#more-1674

There are some very interesting talks, I am speaking on "Operating System Caches in a virtualized environment". Please do attend

Wednesday, November 03, 2010

Fedora 14 is out

Get Fedora 14 from https://fedoraproject.org/get-fedora. The website has a great new look and feel, check out http://fedoraproject.org/.

Checkout some of the cool tools and features at http://fedoraproject.org/en/features/

libcgroup has been updated to  0.36.2, I'd recommend moving to 0.37 (it should be available soon)

I've been using Fedora for a long time and constantly since Fedora 11. I still remember seeing Fedora core 1 announced and Fedora core 2 shipped with the 2.6 kernel, wow! we've really come a long way! There is much more to cover.

Tuesday, November 02, 2010

libcgroup v0.37.rc released

We just release libcgroup v0.37.rc after about five months of development. There are some really cool changes, lots of bug fixes

cgconfigparser supports quotes
lots of bug fixes for tools (cgget, lssubsys, etc)
cgsnapshot is a cool new tool!

The release is available from https://sourceforge.net/projects/libcg/files/

As usual the home page is at http://libcg.sourceforge.net/, the generated documentation is at http://libcg.sourceforge.net/html/index.html. The source code (git) is  at http://libcg.git.sourceforge.net/git/gitweb.cgi?p=libcg/libcg;a=summary

Hack on!

Sunday, October 24, 2010

Some cool feature of firefox 4

firefox 4 is still under development, I've been testing it again now. A while back I tried it for its support of webgl, but I found gmail crashing and I submitted reports. I now see the new minefield (firefox 4) is quite awesome. What do I love about the new look

  • Group your tabs is a really cool feature
  • Refresh button has moved to the right
  • Book marking got a whole lot easier
  • When pointing to a hyperlinked item, the address bar shows what the URL of the linked item is (quite cool)
  • There is a new firefox sync in preferences to sync firefox across all devices
  • The web console looks interesting, but nothing to beat Chrome's developer tools

There are many more, these are what I could see from my first impression. I'll try and post some interesting screenshots. I've also heard that the firefox 4 javscript engine is now one of the fastest engines (really cool!)

On my wish list, I have

  • Better download manager
  • Ability to do private and non-private browsing in parallel

Saturday, October 23, 2010

Having fun with libvirt and qemu

I've been having some fun dealing with libvirt and qemu. qemu is the basic hypervisor that creates a virtual environment for execution and libvirt is the overall management library. libvirt has several checks built in to valid qemu and every-time, qemu changes (major version), libvirt fails or the default configuration needs tweaking (XML file).

Both are great projects, it is interesting to understand their architecture (which of course is way deeper than this post :))

Friday, October 22, 2010

Cgroups in use

I stumbled upon slides from the 2010 RedHat summit. Cgroups and Resource Management is introduced and mentioned.

There is also a great video on cgroups, really nice to see technology developed being exploited. The video is crisp and clear, do watch it now

Plumbers talk on memory cgroup

There have been several talks on memory cgroups in the past, I just found out about a new one at Linux plumbers by Ying Han from google. If you are at plumbers, I'd recommend attending her session

Sunday, October 17, 2010

Signal processing in sagemath

I was experimenting with some tools for signal processing. The first tools that come to mind are opensource tools scilab and octave. I spent a day looking at the tools, the UI. I figured I could do definite integrals quite easily. Having spent the day and not having the made the progress I would have liked to, I turned to sagemath.

My first delight was to learn about piecewise functions. I decided to play with a square wave of time period 20.

I started with a function that looked like

f1(x) = 1
f2(x) = 0
f = Piecewise([[(0,10),f1],[(10,20),f2]])

Plotting the function with plot(f) showed

Which is exactly what I wanted. Piecewise class also supports a number of very useful functions related to fourier series.

One particularly useful one is a plot fourier series partial sum. The function shows how as we add more frequencies the fourier approximation to the original wave gets better

I started with

f.plot_fourier_series_partial_sum(5,10,-20, 20)

f.plot_fourier_series_partial_sum(15,10,-20, 20) gave me

f.plot_fourier_series_partial_sum(150,10,-20, 20) gave me

This looks like a good approximation to the wave we started with and almost looks like the signals I got on my oscilloscope during my engineering days :)

The next important thing was to get the sine and cosine coefficients

print "sine terms"
for j in range(0,21):
    pretty_print(f.fourier_series_sine_coefficient(j, 10))
print "cosine terms"
for j in range(0,21):
    pretty_print(f.fourier_series_cosine_coefficient(j, 10))

sine terms
cosine terms
Overall, I had good day with sagemath. I need to experiment with some of the discrete functions. Keep tuned in, I'll try and keep you updated on how it goes.

Saturday, September 11, 2010

OLS 2010 proceedings

The draft proceedings are at http://www.linuxsymposium.org/LS_2010_Proceedings_Draft.pdf

I am quite excited about http://www.linuxplumbersconf.org/2010/ocw/events/LPC2010/proposals, but unfortunately I won't be able to attend this year. The other exciting event was KVM forum, I could not attend, but I am glad the proceedings are available http://www.linux-kvm.org/page/KVM_Forum_2010

Friday, September 10, 2010

Article in LFY

In this months issue of Linux For You, here is the abstract - I hope to continue to adding to this series of articles.

Power Programming—Bitwise Tips and Tricks
If you are a seasoned programmer, these tips and tricks will seem very familiar, and are probably already part of your repertoire. If you’re a novice programmer or a student, they should help you experience an “Aha!” moment. Independent of what you currently do, these tips and tricks will remind you of the wonderful discoveries in computer science, and the brilliant men and women behind them.

Monday, August 02, 2010

Quote for the day

The Art of Software Development is the tussle between being generic and specific. Generic at the time of writing and specific at the time of execution and vice-versa.
Balbir Singh

Saturday, July 31, 2010

Quote for the day

Todoing...  The art of catching up with TODO's, but never finishing them!
Balbir Singh

Saturday, July 10, 2010

Heading to OLS

It is that time of the year again, I am heading out to Ottawa Linux Symposium (http://www.linuxsymposium.org/2010/schedule.php), I am giving a talk on Page and Slab cache control in a virtual environment. I also look forward to meeting Paul Turner, Ying Han both of google to discuss cgroups (scheduler and memory). This year again there are loads of interesting presentations from Phase Change Memory to virtFS and beyond.

If you are coming over, it'll be really nice to see you there

Sunday, June 13, 2010

Things shook with pulseaudio

I had a interesting night as I tried to watch the wonderful USA versus UK soccer world cup match and debug sound on my Fedora 13 box. I tried executing the following command "paplay -v /usr/share/sounds/KDE_Window_Close.wav" as my monitor and chair shook. I got off and it happened again.

My sleepy eyes told me something was not correct, my brain told me it is pulseaudio shaking the room with the sound, but my ears did not agree. Well I guess we'll know what happened in the morning, was it a quake, who won the soccer match and will pulse audio work as expected?

Monday, May 17, 2010

India Win Hockey Tournament

India and South Korea were named joint winners after rains washed out the match. Good to see the changes in the Indian hockey team working well. Congratulations!!

Just as I write this, England have beaten Australia to win the World T20 world cup!

Wow! What a week of surprises. I wonder if the football world-cup will hold some interesting surprises as well.

Friday, March 19, 2010

Blog from a standalone client

I am giving a shot at posting this blog entry from a standalone client. Like it very much, quite cool and awesome.

I also like that I can bold, italicize, underline, increase font size,

  1. number items
  2. Who is number two?
  • bullet them
    • bullets, like sub-bullets

So much more easily. There is also tables, pictures, etc, but I’ll get to them slowly.

Friday, March 12, 2010

Open source blows my mind again

I wrote the configuration parser for libcg sometime back. Dhaval helped make significant improvements to it as well. At the time we wrote it, I had imagined we would probably create about 20 or so groups, but I planned ahead and "hard coded" the limit to create 1024 groups. How forward thinking of me :)

This morning I got a message in my inbox that said

"I'm using cgroups for lots and lots of users per server (2.000 or more).The problem is, I'm using one cgroup per user (for memory reasons)." See http://permalink.gmane.org/gmane.comp.lib.libcg.devel/1737

I was surprised to see that someone wanted to create so many cgroups, my first reaction was "Oh! my god" I hope we don't have a major bug in functionality or scalability.

I looked at the code and asked for counter that controls maximum number of groups to be scaled to something like 2048, hoping that the code would work, here is what I heard back.

"Yes!!! Thank you very much.. Its working now.. 37 thousand lines, 1400users (one cgroup for each user) :D Server is up and running now :D". See http://permalink.gmane.org/gmane.comp.lib.libcg.devel/1744

They use memory cgroups in their setup both hard and soft limits, so kudos for testing the whole solution. I never expected that we would be able to parse those many lines and support that sort of a configuration. This is where open source wins, I was able to provide a solution in seconds and I am hoping more feedback from the end users will help drive all the technology they use and I develop in the right direction. Had our software not worked well, we would have fixed it to enable the end user at the earliest.

Open Source blows my mind again and again!

Friday, January 22, 2010

Published an article in Linux For you

You can see the abstract below

Introducing Kernel Samepage Merging
The motivation of KSM comes from the observation that on a large machine running several virtual machines (potentially running the same OS), there are a number of duplicate pages, each consuming a page of memory in the hypervisor.

The URL for the magazine is http://lfymag.com/currentissue.asp?id=13

Go rush and get the January 2010 copy, comments, feedback, criticism always appreciated!

FOSS.IN 2009 was great

I am delinquent in reporting about my FOSS.IN experience this year. Nevertheless, better late than never! My summary goes, the good, the awesome, the excellent and the let-downs. For the photo stream check out "foss.in/2009" tag on flickr

The let-downs
  1. There were very good talks, I spoke as well (see http://foss.in/2009/schedules/talkdetailspub.php?talkid=15), but I was surprised to see people who had never contributed code, presenting, even though that is something that FOSS.IN was trying to move away from.
  2. Atul stepped down as the organizer or key-organizer of FOSS.IN. We've had some interesting discussions on the mailing list, I'll certainly miss those
  3. Stalls - the stalls from Nokia and some of the student stalls were awesome, I was hoping to see some key innovative work happening
  4. Goody bag - I did not get my goody bag, I asked early and I was told to come at the end, but I was told they ran out :( I missed out on the mug I admire soooooo much
  5. FOSS.IN almost seeming like FOSS.DE (we need a stronger rotation policy :), just kidding on this one)
The good
  1. I loved the spirit of FOSS.IN
  2. Loved the environment and speaking to the volunteers
  3. Pulseaudio, I typically and still to some extent don't like Pulseaudio, but the technology and the architecture I learnt from the learned, seem very impressive
  4. The hobby electronics group and their project
The excellent
  1. The workouts were excellent, the BoFS and many workouts had more focus
  2. The rock music by the Raghu Dixit Project
  3. Met some free lancers using Linux, they did not have stalls, but their projects sounded very exciting
  4. The participants were serious about what they wanted to work on, which is very exciting to see
  5. Networking and spending time with people
The awesome
  1. The food arrangement, Hallimane
Hmmm.. Did I just put my neck out and at the same time be lazy? BTW, I wrote my Linux For You article while attending the conference :)

Dynamic programming for the binomial coefficient

More fun things, this time with some visualisation of what happens when memoisation is used and what happens when we don't. I don'...