Friday, March 18, 2011

Knuth's Earth Shaking Announcement

I found the video here (http://river-valley.tv/tug-2010/an-earthshaking-announcement). It is quite awesome!! Earth shaking reminds me that I request all readers of this blog  wish Japan all the very best as the country tries to cope with the enormous loss and devastation.

Wednesday, February 23, 2011

Kernel Mode Setting and Resolution

The main pain of upgrading to rawhide on Fedora has always been -- "Hey, what about my proprietary graphics card support?". I've been bitten a few times. When I made the decision to buy a card, I chose ATI so that I can enjoy the benefits of a good open source driver.

Rawhide has moved to gnome 3, and gnome shell requires 3D graphics or falls back to the old style gnome. With kernel mode setting, there is sufficient support in the form of DRI/DRI2 and Mesa 3D to support OpenGL.

My main issue was getting the right resolution. Here is a well known way of solving the problem

Solution

  1. Run the cvt(1) command, specify the resolution and refresh rate, it will output a set of mode lines. See http://www.arachnoid.com/modelines/ for a good tutorial on mode lines (NOTE: You might not need to do this if EDID works fine for you)
  2. Modify /etc/X11/xorg.conf and add the following under the monitor section
  3. Modeline "...." (whatever cvt output)
  4. Option "PreferredMode" "Name of the mode used above"

This should get you going and help you come to the desired resolution

Solutions that did not work

  1. Adding video=... at boot time
  2. Disabling KMS, helps fix the resolution, but the correct 3D driver (mesa DRI) does not load, you are left to Software 3D emulation (that sucks)

Enjoy, I hope someday we'll get an open source driver for openCL :)

Wednesday, January 26, 2011

Distro Hopping

After trying some more distros, I decided to move to debian part-time. I was surprised to see Linux Mint support debian (albeit only the "testing", also known as "Squeeze" release).

I am in love with the combination of mint and debian. The version of the kernel is still 2.6.32, but debian stability and support is rock solid. I'll slowly migrate to the experimental version when "Squeeze" is released.

The rich packaging and stability of debian with the front ending of the very best makes this a lovable distro.

 I am posting some screenshots, enjoy!





Saturday, January 01, 2011

Happy New Year

Here is a hearty wish for a happier 2011, may the new year bring more happiness, health and wealth.

I want to make more resolutions, even if I break them - my new year resolution :)

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
0
2/pi
0
2/3/pi
0
2/5/pi
0
2/7/pi
0
2/9/pi
0
2/11/pi
0
2/13/pi
0
2/15/pi
0
2/17/pi
0
2/19/pi
0
cosine terms
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
 
 
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

Ranking and Unranking permutations

I've been a big fan of Skiena's Algorithm Design Manual , I recently found my first edition of the book (although I own the third ed...