Manish Chakravarty's Blog

Thoughts. Musings. Suggestions, Ramblings


Rich copy-paste from a webpage using a firefox extension and saving it to a .doc file
[info]manish_chaks

Background;

I’ve been spending some time writing trivial XUL extension for my own needs.

XUL is a weird way of doing things – for me al least. I’ve been writing thick client applications using various toolkits ( Gtk/ Qt / Jambi ) for nearly 6 years now and using JavaScript , XML and CSS to write a desktop application seemed .. weird.

There are plus points to learning XUL:

  1. The “applications” themselves are lightweight and can be deployed using XULrunner as standalone applications – eg ChatZilla!
  2. The applications pretty much guaranteed to run on Windows, OS X and Linux ( and other OSes supported by Mozilla Firefox )n- as long as you dont use native code inside your applications.[1]
  3. This is great for building small utilities that you want – though full fledged applications like SongBird and Thunderbird have been built using XUL technology
  4. You can get a lot done using your web development skills

Using your web development skills to write desktop applications is cool in a weird way , IMO :)

Where XUL helps you:

XUL allows you to write simple desktop applications / firefox plugins just like you would write a web application. You use JavaScript for all the logic, XML for all the UI and CSS to theme it.  If you are interested, going through the XUL Tutorial might be a good starting point. There are IRC channels and mailing lists to help you out , of course

Problem Statement:

I want to be able to extract rich text + markup from a web page so that I can put it into something else ( a Word document for example)

The Solution:

The code for that is simple, as long as you are familiar with Mozilla’s DOM API.

The code is pretty self-explanatory': I’ve hyperlinked some API calls with the documentation for your reference:

 

getSelectedRichText: function () {
  //this method extracts out the rich text from the selection
  // refer:https://ubiquity.mozilla.com/hg/ubiquity-firefox/file/55f148ad19d6/ubiquity/modules/contextutils.js#l60 for more
  var range = this.getFirstRange()
  if (!range) return "";
  var newNode = document.commandDispatcher.focusedWindow.document.createElement("div");

  newNode.appendChild(range.cloneContents());
  range.detach();

  return this.absolutifyUrlsInNode(newNode).innerHTML;
  },

// A couple of helper methods

absolutifyUrlsInNode: function (node) {

var attrs = ["href", "src", "action"];

for each (let n in Array.slice(node.getElementsByTagName("*")))
     for each (let a in attrs)
         if (a in n) {
             n.setAttribute(a, n[a]);
             break;
         }
return node;
},


  //this method returns us the range of the selection
  getFirstRange : function () {
  var win = document.commandDispatcher.focusedWindow;
  var sel = win && win.getSelection();
  if (!sel || !sel.rangeCount) return null;
  var range = sel.getRangeAt(0);
  var newRange = win.document.createRange();
  newRange.setStart(range.startContainer, range.startOffset);
  newRange.setEnd(range.endContainer, range.endOffset);
  return newRange;
  },

 

Saving the selected text to a .doc file:

Create a simple xhtml file – fill out the sections in blue with your data.

<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word">
<head>
<xml>
<o:DocumentProperties>
<o:Author>Your name</o:Author>
</o:DocumentProperties>
<w:WordDocument>
<w:View>Print</w:View>
<w:Zoom>100%</w:Zoom>
</w:WordDocument>
</head>

<body>
Your text goes here

<p> a new paragraph </p>`
</body>

</xml>
</html>

Save this with a .doc extension and voila! MS word can open this as a .doc file. This is very cool stuff.

Taking this into account lets write our saveToDoc() method:

SaveToDoc: function() {
  //lets initialize a simple prompt here for debugging purposes
  var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
                        .getService(Components.interfaces.nsIPromptService);
  //lets constuct the doc string here.
  var initialSectionStr = "<html xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:w=\"urn:schemas-microsoft-com:office:word\">";
    initialSectionStr += "<head>";
    initialSectionStr += "<xml>";
    initialSectionStr += "<o:DocumentProperties>";
    initialSectionStr += "<o:Author>Your name</o:Author>";
    initialSectionStr += "</o:DocumentProperties>";
    initialSectionStr += "<w:WordDocument>";
    initialSectionStr += "<w:View>Print</w:View>";
    initialSectionStr += "<w:Zoom>100%</w:Zoom>";
    initialSectionStr += "</w:WordDocument>";
    initialSectionStr += "</head>";

    var bodyStr = "<body>" + this.getSelectedRichText() + "</body></xml></html>";
    var finalStr = initialSectionStr + bodyStr;
    //prompts.alert(null, "foobar!", finalStr);
    //writing the file
    var file = Components.classes["@mozilla.org/file/local;1"]
                      .createInstance(Components.interfaces.nsILocalFile);

    file.initWithPath( "C:\\output.doc" );
    file.createUnique( Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 600);

        // file is nsIFile, data is a string
    var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"].
                             createInstance(Components.interfaces.nsIFileOutputStream);

    // use 0x02 | 0x10 to open file for appending.
    foStream.init(file, 0x02 | 0x08 | 0x20, 0666, 0);
    // write, create, truncate
    // In a c file operation, we have no need to set file mode with or operation,
    // directly using "r" or "w" usually.

    // if you are sure there will never ever be any non-ascii text in data you can
    // also call foStream.writeData directly
    var converter = Components.classes["@mozilla.org/intl/converter-output-stream;1"].
                              createInstance(Components.interfaces.nsIConverterOutputStream);
    converter.init(foStream, "UTF-8", 0, 0);
    converter.writeString(finalStr);
    converter.close(); // this closes foStream
    },

 

We plug this in and thus we have a firefox extension which can take stuff from any web page and render it almost exactly onto a word document. Cool isnt it?


An nice distribution for my netbook – help!
[info]manish_chaks

I've a Acer Aspire D250
It's got WinXP SP3 + Android in a dual boot configuration ( preloaded / factory option )
My review of it -> http://manish-chaks.livejournal.com/103322.html
My usage:
This netbook is going to be my travel machine. I use the "reliance netconnect broadband+" datacard to remain connected to the matrix.. err. the internet while I'm travelling.
While XP SP3 was fine initially, I'm beginning to miss Linux on this machine.
The Android OS is pretty good, but it lacks
- anyway to recognize and dial the data card - so no connectivity in places without WiFi - the biggest deal breaker
- Apps for organizing / editing photos
- other native apps that I use less frequently but would be good to have while travelling
XP SP3 has pretty much everything I require, but
- As I install more software, it seems to be slowing down ( Standard windows problem)
- Lack of a good CII
- It's windows.


What I want:
I want to install a nice, "lightweight" distro , which
- works flawlessly with all the hardware I have - sound, wifi , datacard and hibernate/sleep are a must
- doesn't hog too much RAM.
- a good-to-have would be that the distro is compiled specifically for the Atom CPU, so that  I can extract the maximum out of this netbook ( I'm open to cross-compiling Gentoo for this , if that helps )
- KDE4 would be a good-to-have, although I can live with fluxbox + some basic apps as well.
- Good power management - I'm not sure how good/bad linux is with power management as I mostly use it on my desktops or inside a VM on my mac.
- Please dont suggest Kubuntu - anything Debian or RHEL/CentOS based would be desirable - I dont mind not have the bleeding edge software - I can compile what I want -  I want stability above all else - irritated with breakages in the Ubuntu/Fedora world. [1]

Any suggestions?
( posted from my notebook from the train - from somewhere in the middle of nowhere )

[1] - I've had Ubuntu and fedora kernel upgrades breaking sound, VMWare modules and Wifi amongst other things. Used Debian for a year on another laptop ( till mid 2009 ) and never faced any problems


Review: Acer Aspire D250 Netbook with Andriod
[info]manish_chaks

Since I am travelling a lot, I bought I needed a light netbook – bought the Acer Aspire D250 for slightly less than 18k INR

acer-aspire-one-d250

Tech Specs:

  • Intel Atom Processor N280 – 1.66 Ghz, 667 Mhz FSB
  • 1 GB Ram ( will upgrade it to 2 GB Shortly 0
  • 6-cell Li-ion battery ( has been giving me 5+ hours of backup )
  • 160 GB HDD
  • Card Reader
  • Android OS as a standard dual boot option -  more on this later

Initial Feel;

  • The keyboard felt nice – I am very particular about keyboards and this one seems to be pretty nice initially. The laptop itself is pretty small though and your fingers will cramp up after long hours of usage ( I started having problems after 4+ hours)
  • The 6-cell battery gives me 4-5 hours of backup on my usage ( more on usage below ) – I’m more than happy with it.
  • Atom processor is powerful enough for my usage on this machine
  • The display is glossy and nice. The area around the display is prone to fingerprints though
  • The laptop is really light – around 1kg and thin, Though nowhere as thin and light as the Macbook Air, it’s pretty good and light for my needs and it’s in my budget :)

How I use it

I made a conscious decision to keep the software stack on my machine as light as possible. I use windows XP SP3 on this ( came preloaded ) along with Android OS ( more on this below).

Firefox is the primary application that i use on my machine. I try and use web applications where ever possible. Which means I used GMail and Google Apps (for my TW Mail ) instead of using a Outlook 2007 as my mail client. I did try using Windows Live Mail , but I found the web interface the best deal.

I use Pidgin for all my IM needs – it’s got all my accounts ( my Y!, Google Talk and TW Jabber account) linked to it. Sometimes I use meebo as well. The heaviest application that I use on this machine is Eclipse – it’s way slower than my Macbook Pro – but then netbooks are really not meant for heavy development work. Java6 + Eclipse do really drain this machine – also because it’s got just 1 GB of RAM.

The only other development that I’ve been doing on this laptop is Firefox extension development – the laptop seems more than adequate for this task - Notepad++ being my editor of choice for this work.

I also have Emacs for windows installed on this machine – though I’ve been rarely using it.

The machine did not come with the windows XP Home CD/media with it. Acer provides a software for backing up the laptop into disks/DVD’s. I havent bothered with it cause I am going to get rid of windows and install Linux on it once I get back to Bangalore anyway.

The Android OS

When I bought the netbook, I noticed the “Android ready” logo on the right palm-rest area. I thought it was marketing shill till I installed/activated the Andriod OS ( you can do this from within windows – very cool ) and booted into it. Android asks your for your Google Account credentials and then syncs with it. All your Contacts / Calendar / GTalk friends list etc are automatically synced. It lacks some essential (for me at least) apps such as Twidriod but I assume you can install it somehow – need to explore more once my travels end and I get back to Bangalore.

Acer supplies its own ‘flavour’ of Android. I didnt use the word ‘distro’ – the Android world has not yet seen the kind of fragmentation the Linux world has, which is a good thing. I plan to install the vanilla Android OS once I get back – hardware support being a non-issue as everything seems to run well anyway

It’d be interesting to try out Chrome OS on this once it comes out – I've a gut feeling that it should work on this machine too many issues.

Verdict

If you are looking for a netbook which gets the job done and lets you play around – go for this one – I’m positively in love with this once I bought it.!


A glimpse of life inside thoughtworks studios
[info]manish_chaks
The Entrace

Vivek , Jayanth, Thrivikram - In that order

Thanks Vivek, Jayanth and Thrivikram for you..

For all the pics, go here

Gitk on OSX
[info]manish_chaks

Gitk on OSX
Originally uploaded by Manish Chakravarty
While there is GitX available on OSX, I wondered what it would be like
to run gitk on OSX.
I installed git from MacPorts and it included gitk as well.

All you have to do is to launch "gitk" from the OSX terminal. X11 is
automatically launched , followed by gitk.
This is much slower than launching gitx, and I did this just for kicks

Long cohabitation of couples is presumption of marriage , says Supreme Court
[info]manish_chaks
This was a pretty interesting article, particularly this part:

The Supreme Court has held that if a man and a woman are residing together for a long time and have been accepted by the society as husband and wife, a presumption of a valid marriage can be drawn.

"A long cohabitation and acceptance of society of a man and woman as husband and wife goes a long way in establishing
a valid marriage," a Bench of Justices S B Sinha and Cyriac Joseph observed.


Yet, in India, live-in relationships are not looked upon very well by the society at large.

The verdict goes on further to say
The Bench said when disputes of valid marriages comes into question, courts can rely not only on the various material placed before it, but also draw a presumption on the basis of the conduct between the two parties. "In arriving at a finding of fact, indisputably the learned trial judge was not only entitled to analyse the evidences brought on record by the parties so as to come to a conclusion as to whether all the ingredients of a valid marriage as contained in Section 5 of the Hindu Marriage Act, 1955 stand established or not.

This is particularly interesting. If you go through the entire ruling emphasis is given on the relationship between the couple in question and the society.

I had an interesting conversation on these lines with a fellow TWer on friday night. He said that on these matters, taking the views of the society as a whole into account is important as well. The way I see marriage, it's the couple asking for acceptance for staying together from the society as a whole.

I haven't been in a live-in relationship myself but have close friends who were/are. I fully support the right of two adults to live together without marriage.

Sometimes the people around them ( neighbors mainly ) have frowned on the live-in couple and sometimes they have been supportive.

If I may say so, I find the stand of the Supreme Court a little weird. Consider this

1. A guy and a girl can get married without having to take the consent of anyone as long as a. they're above a certain age b. 2 witnesses are present
2. According to the latest ruling, a guy and a girl who live happily together is the presumption of marriage as long as the society accepts them

I see a problem.
1. How do you prove the society likes your living together?
2 You dont need acceptance of the society to marry someone legally but you do need their acceptance if you dont marry but wanna be called married :)

If you're reading this, I'd love to hear your opinions.


PS: I normally dont post non-tech stuff on this blog. I post such stuff to my other blog. This blog is syndicated at blogs.thoughtworks.com ; I would like to hear the opinions of my fellow TWers from India and abroad.

Reliance EVDO :Pathetic speeds!
[info]manish_chaks
I just bought a Reliance Netconnect Broadband+ EVDO USB modem.

I was promised speeds "upto" 3.1 Mbps. You can check the link above for their tall claims.

These are the speeds I am getting in an area with 100% signal strength at 10PM, according to speedtest.com

ping 208ms (to my ISP's server in Mumbai)
dL 0.83 Mbps
upload 0.02 Mbps


Download Benchmark ( again speedtest.com )
mp3 File - 5MB - 49sec
Video Clip 35 MB - 6 mins
Movie 800MB 129 min



Their claim of speeds is basically a lie and a scam.
While i've gotten tricked and paid 3.5k for this piece of junk, I hope you dont make the same mistake.

Cowsay Man page: hilarious!
[info]manish_chaks
This is /NOT/ fiction.. have a look at the screenshot to know more ..
( and yes install it! )
cowsay(1)

                     cowsay(1)

NAME
       cowsay/cowthink - configurable speaking/thinking cow (and a bit more)

SYNOPSIS
       cowsay [-e eye_string] [-f cowfile] [-h] [-l] [-n] [-T
tongue_string] [-W column] [-bdgpstwy]

DESCRIPTION
       Cowsay  generates  an  ASCII  picture of a cow saying something
provided by the user.  If run with no arguments, it accepts standard
input, word-wraps the message given at about 40 columns, and prints
the cow saying the given message on
       standard output.

       To aid in the use of arbitrary messages with arbitrary
whitespace, use the -n option.  If it is specified, the given message
will not be word-wrapped.  This is possibly useful if you want to make
the cow think or speak in figlet(6).  If
       -n is specified, there must not be any command-line arguments
left after all the switches have been processed.

       The -W specifies roughly (where the message should be wrapped.
The default is equivalent to -W 40 i.e. wrap words at or before the
40th column.

       If any command-line arguments are left over after all switches
have been processed, they become the cow's message.  The program will
not accept standard input for a message in this case.

       There  are  several  provided  modes  which change the
appearance of the cow depending on its particular emotional/physical
state.  The -b option initiates Borg mode; -d causes the cow to appear
dead; -g invokes greedy mode; -p causes a
       state of paranoia to come over the cow; -s makes the cow appear
thoroughly stoned; -t yields a tired cow; -w is somewhat the opposite
of -t, and initiates wired mode; -y brings on the cow's youthful
appearance.


       The user may specify the -e option to select the appearance of
the cow's eyes, in which case the first two characters of the argument
string eye_string will be used.  The default eyes are 'oo'.   The
tongue  is  similarly  configurable
       through -T and tongue_string; it must be two characters and
does not appear by default.  However, it does appear in the 'dead' and
'stoned' modes.  Any configuration done by -e and -T will be lost if
one of the provided modes is used.

       The  -f option specifies a particular cow picture file
(``cowfile'') to use.  If the cowfile spec contains '/' then it will
be interpreted as a path relative to the current directory.
Otherwise, cowsay will search the path specified in
       the COWPATH environment variable.  To list all cowfiles on the
current COWPATH, invoke cowsay with the -l switch.

       If the program is invoked as cowthink then the cow will think
its message instead of saying it.

COWFILE FORMAT
       A cowfile is made up of a simple block of perl(1) code, which
assigns a picture of a cow to the variable $the_cow.  Should you wish
to customize the eyes or the tongue of the cow, then the variables
$eyes and $tongue may be  used.   The
       trail  leading  up  to  the  cow's  message  balloon is
composed of the character(s) in the $thoughts variable.  Any
backslashes must be reduplicated to prevent interpolation.  The name
of a cowfile should end with .cow, otherwise it is
       assumed not to be a cowfile.  Also, at-signs (``@'') must be
backslashed because that is what Perl 5 expects.

COMPATIBILITY WITH OLDER VERSIONS
       What older versions? :-)

       Version 3.x is fully backward-compatible with 2.x versions.  If
you're still using a 1.x version, consider upgrading.  And tell me
where you got the older versions, since I didn't exactly put them up
for world-wide access.

       Oh, just so you know, this manual page documents version 3.02 of cowsay.

ENVIRONMENT
       The COWPATH environment variable, if present, will be used to
search for cowfiles.  It contains a colon-separated list of
directories, much like PATH or MANPATH.  It should always contain the
/usr/local/share/cows directory, or at least
       a directory with a file called default.cow in it.

FILES
       /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_cowsay/work/destroot/opt/local/share/cows
holds  a sample set of cowfiles.  If your COWPATH is not explicitly
set, it automatically
       contains this directory.

BUGS
       If there are any, please notify the author at the address below.

AUTHOR
       Tony Monroe (tony@nog.net), with suggestions from Shannon Appel
(appel@CSUA.Berkeley.EDU) and contributions from Anthony Polito
(aspolito@CSUA.Berkeley.EDU).

SEE ALSO
       perl(1), wall(1), nwrite(1), figlet(6)

                                     $Date: 1999/11/04 19:50:40 $

                     cowsay(1)

--
Manish Chakravarty
Blog: manish-chaks.livejournal.com/
LinkedIn: www.linkedin.com/in/manishchakravarty
Twitter: twitter.com/ManishChaks
Facebook: www.facebook.com/manish.chakravarty

First Chapter for my selenium book
[info]manish_chaks
I have tentatively called the book "Selenium Internals"

You can download the book from here

please send your reviews, feedbacks, suggestions coming.

Look forward to posting one chapter everyday :)

Writing a book on selenium: Outline
[info]manish_chaks


Chapter 1 - Introduction
Goals
• Introduce participants to each other
• Establish the goals of the program
• Do a “warm up” on selenium
• Setup Environment ( IDE, repo etc )
Architecture

Chapter 2: Selenium Core
Goals
User should be able to…
• Write a simple test case in Selenese
• Demonstrate understanding of core and core-less
• Demonstrate understanding of core profiles
• Familiarity with various JS files
• Demonstrate how to build and deploy core part to Maven
Agenda
• Building the Selenium Core
Outline
• Explain the source tree layout
• Create sample HTML page
• Create Selenese test case
• Include the test case in the actual suite ( conditions configure for
specific browser etc)
• Building the selenium core
• Describe conversion
• looking at pom.xml for selenese ant task
• Describe important JS files which are part of Selenium Core.
• Describe how Selenium coreless creates profile
• Firebug
• Windows Registry
• difference between PI mode and non PI mode ( diff between the JS
files being loaded )
Links
• Starting with Selenium
• Setting up Apache on OS X
• Ajax Testing with Selenium using waitForCondition
• Agile Testing with Selenium

Notes
browser launcher, launcher util, WindowsUtils, creation of firefox
profile and extension, ie registry modification, fire bug extension,
fire fox 3 patch, iedoc.xml geberation with rhino
selenium-api.js, selenium-browserbot.js, selenium-remoterunner.js,
selenium-testrunner.js, different between PI mode loading and non-pi
mode loading of js files

Chapter 3 – Selenium Server
Goals
User should be able to demonstrate understanding of
• the source structure of Selenium Server
• how selenium server and selenium core talk to each other (Incase of
selenese test case – selenium-testrunner.js and driver commands )
• diff context paths in the selenium server
• how selenium server handles requests
Outline
• Talk about source structure of SS ( talk about selenium server =
(SeleniumCore +SeleniumCoreLess ))
• Describe architecture of the Selenium Server
• Describes the commands Selenium Core sends to Selenium Server
( Excercise: Do this with FireBug; involve students )
• How selenium server handles selenese test cases
• How selenium server handles test cases driven by driver
• Talk about SSL certificates.
Notes
proxy handler
static content handler (classpath resources)
cache content handler
selenium driver handler

Chapter 4 – Selenium Driver
Goals
User should be able to demonstrate and understanding of ….
• How selenium converts iedoc.xml XML to Java/ruby/python driver
interface and implementation with iedocXXX.xml xslt & Converting
selenese test case to Java test case with XLateHTML2Java and handling
special conditions while test case conversion
• How to run test cases from Java driver end.
• Selenium Driver <—> Selenium Server interactions
Outline
• From the XML doc generated in Chapter one, we will talk about how
code is generated out of it.
• In case of Java binding , how they are creating Java test case from
selenese test case.
• What if we dont want them to generate the system automatically?
• getEval (“WaitUntilPresent”)
• how to get rid of getEval and extending the Selenium driver
( inheritance OR composition )
• patterns (do, get , is )

Chapter 5 – Selenium Driver
Goals
User should be able to demonstrate and understanding of ….
• Understanding hooks
• Understanding how to extend the selenium core objects
• How things would differ from PI and non PI mode
Outline
• Taking the click and the wait ; such that click implicitly calls a
wait

Chapter 6 – Selenium Modes
Goals
User should be able to demonstrate and understanding of ….
• IEHTA/chrome #Running a functional test case under different
browsers
• Page ranking algorithm
• Multi-domain issues
• How to exclude files from injection
Outline
• Talk about IEHTA and Chrome modes
• Demonstrate running the functional tests under different browsers
Facilitated Discussion – “What are the major cross-browser issues have
you faced in general and with Selenium in particular?”

Chapter 7 (part 1) XPath
Goals
User should be able to demonstrate and understanding of ….
• difference between XPath implementation in IE and firefox
• how to change the XPath library used for IE
Outline
• Talk about XPath Implementation in IE and firefox
• Attendees will be asked to find out how to change the XPath library
for IE
• Explain the difference between the two javascript implementations
• Talk about the pros/cons of the native IE XPath implementation
( Including issues with MSXML )
NotesChapter

MSXML cannot deal with malformed HTML documents. That is why a
JavaScript library is needed to deal with XPath.

Chapter 8

This Chapter is more of discussions regarding Selenium issues
• Running selenium test cases in parallel (Selenium Grid)
• Slow JS
• Flex Driver
• Selenium-Flash demo Topics to vary wrt to time. Participation from
audience encouraged
Outline
• Demonstrate the stuff mentioned in the goals and talk in detail

Chapter 9: Wrap Up
Facilitated discussions regarding
• Twist

Conducting a traning programme on Selenium. Interested?
[info]manish_chaks


After the last months successful (and first meet ) of the Indian selenium user's group , I have decided to go ahead and hold a selenium training camp at the Bangalore TW office [1]

The meet was really good, there was 50+ attendance and as you know this was the first ever meet!


The outline can be found here.

Feel free to sign up. ( All you need to do is reply to the thread or reply to me directly )


[1] = some people have requested a web-based training solution as they cannot physically travel to Bangalore. I am looking at exploring all options.

Alert! VMware breaks with Debian upgrade + fix
[info]manish_chaks
I have VMPlayer installed on my debian lenny.

Here's the output of "uname -a" : Linux manish-laptop 2.6.26-2-686 #1
SMP Thu May 28 15:39:35 UTC 2009 i686 GNU/Linux
After the kernel upgrade from 2.6.26-1-686 to 2.6.26-2-686, the linux
headers are not installed ( if you installed linux-headers for the
previous kernel they stay as is but they are not upgraded)

VMPlayer (or any other flavor of VMWare) then breaks. You need to execute
"sudo apt-get install linux-headers-`uname -r`" which will fetch the
correct version of the linux headers.

The VMWare starts up, fixes the module stuff ( see attached
screenshot) and then boots up just fine.

I wonder why the Debian guys dont automatically install the newer
version of the headers when 1. The user already has an older version
of the kernel headers installed 2. An automatic upgrade does upgrade
the older kernel.

Snapshot of my desktop
[info]manish_chaks
My workspace becomes even more crowded......

What I am trying to do is launch firefox from within the code base
using a proxy server ( code's in eclipse)
Firefox has been custom-profiled to auto-load Venkman ( the window
with "JavaScript debugger") and that is being used to control the
recording and playback using the Selenium IDE (top left of right
screen) .. the recording/playback mechanism is behind-the-scenes (and
thus another use of Venkman)

Had a long hard day's work today

Google Chrome on Linux!
[info]manish_chaks
Took the latest build [1] of chromium for a swing. (this is not a
review since chrome for linux is not ready for primetime yet)

To test, I got down the latest build of Chromium for Linux.
Installation was as simple as downloading and unzipping the file and
then doing a "./chrome".
Everything looks fine, I have used for a while .. GMail, iGoogle,
Yahoo all opened and worked just fine. Changing the language in
iGoogle from English to Hindi cause Chrome to not display anything in
the browser, this was strange. This is probably some
internationalization issue in Chromium which would be fixed later.

I will spend more time with Chrome and will give you and update after
a while of using it more.

[1] = build.chromium.org/buildbot/snapshots/chromium-rel-linux/...

Twouble with Twitters: SuperNews!
[info]manish_chaks

Something malicious going on in gmail chat?
[info]manish_chaks
Just logged into gmail .. seeing strange names + the "Kasav" thing..
Are you facing a similar problem?

I'll hold for announcements in OSNews/ArsTechnica/Slashdot for more info on this

Video: Sun's Legacy
[info]manish_chaks
http://video.forbes.com/fvn/tech/sun-legacy

An amazing video.

www.thoughtworker.com
[info]manish_chaks
This is a fantastic site put up by the ThoughtWorks. It sends out a clear picture of who we are and what we do. It gives a very interesting glimpse into the life of a thoughtworker and why you should work with ths.

do check it out --> http://www.thoughtworker.com

Gmail is down!
[info]manish_chaks
I have been trying to access Gmail for the past quite some time now.
I am getting 503's


I am able to access GMail via mutt though.
I guess the mail servers are still up but the webservers are down.

Anatomy of the Ext4 Filesystem
[info]manish_chaks
http://www.ibm.com/developerworks/linux/library/l-anatomy-ext4/index.html?ca=dgr-lnxw07Anatomy-of-ext4&S_TACT=105AGX59&S_CMP=grsitelnxw07


Home