[ossig] FOSS.in Conference Day 1
Ditesh Kumar
ditesh at gathani.org
Tue Dec 18 12:30:42 MYT 2007
(for full linkage, please visit:
http://ditesh.gathani.org/blog/2007/12/11/fossin-conference-day-1/ )
Conference Day 1 started off with an inaugration by Atul. He mentioned
that FOSS.in focuses on all FOSS technologies (and not just Linux). More
interestingly, he also mentioned that only an Indian can give a FOSS.in
keynote. The event was started off by the lighting ceremony by
speakers/volunteers from around the country. Very unique, I must say.
--- Anjuta Devstudio: present and future
Naba starts off by giving a history about Anjuta. He mentions that when
he started off developing Anjuta, there were no integrated development
tools and at the start, most of the work was done offline and he only
released the tool a year later under GPL. Anjuta was build with goals of
segregation in mind (components within the IDE), scalability,
extensibility, adaptability and with a plugin architecture.
Naba mentioned that language support is primitive (C++ plugins are
broken, Python plugins working with a debugger, languaage bindings are
working) and as such, it is a work in progress. Some plugins for editors
include Scintilla and Sourceview, debuggers such as gdb, VCS such as CVS
and SVN with git being under development.
Future work in this area includes a new symbol database system, full
Python support, full C++ plugins support, Vala support, better project
management, DevHelp based on Webkit and an online infrastructure for
plugins.
There was an interesting point on whether Anjuta will be supporting
refactoring. Naba mentioned that no tool does refactoring in C
correctly, and therefore Anjuta will not be participating in the agile
development hype by providing refactoring support.
Personal thoughts: Good overview on Anjuta.
--- How and Why You Should Be a Kernel Hacker
James Morris gave an introduction to get started in kernel hacking. He
listed three essential requirements for kernel hacking (genuine
interest, common sense, a willingness to work hard). He outlined some
myths are that kernel hacking is bizarrely difficult and mysterious when
the reality is that its just software. He pointed out some areas where
newbies can get started on (LKML, books, online resources etc).
Personal thoughts: Fairly basic talk on kernel hacking. I suppose this
talk may be useful for beginners.
--- Meet Hadoop! (Open Source Grid Computing)
I was slightly late to the Hadoop talk. Devaraj Das was speaking on hdfs
handling failures and ensuring data correctness by using
checksums/CRC32, handling file creations/file access and fscking.
He then started to speak on running a word count on a huge file using
map/reduce. The Hadoop map reduce architecture is primarily a
master-slave architecture with a map/reduce master jobtracker (accepts
jobs, assigns map and reduce tasks to tasktrackers, monitors task and
tasktracker status), map/reduce slaves “tast trackers” (which run map
reduce tasks, manage storage and transmission of intermediate output).
There is a generic reusable framework supporting pluggable user code
(and even pluggable filesystems such as DFS, Kosmix, S3 etc).
On a question from the audience whether NFS could be used as a pluggable
filesystem, Devaraj said that in Yahoo, the Hadoop Jar file is on NFS
and is later copied unto a local node.
A Hadoop application has to define mapper and reducer classes and a
launching program. At this point, language support includes C++ and
Java, supports a streaming model (which is allowing the use of any Unix
command as long as stdin and stdout is support in that command). Job
tracking seems to be via HTTP monitoring.
There were several map/reduce optimizations mentioned including combiner
(mappers may generate duplicate keys), minimize data size before
transfer, speculative execution (some nodes may be slower and duplicate
tasks may be run on other nodes), out of band data access (distributed
cache).
Other significant projects in Hadoop included Jute (a way to bridge
legacy data into map-reducible data), HOD (for effective cluster
sharing) and hbase (equivalent to Google’s BigTable).
Testing at Yahoo! has shown that 20TB sorted on 2000 nodes takes ~2
hours. There were no scalability issues when adding nodes. There is a
distributed file system is in daily use with 1.5 PB with millions of
files (which also runs on Amazon’s EC2/S3). Certainly, Hadoop makes much
sense on the Amazon EC2 with S3 as the store and many startups take
advantage of this to use Hadoop to process data on Amazon’s EC2/S3
services.
Personal thoughts: Very informative talk!
--- QtWebKit
Simon Hausmann spoke on QtWebKit, which is basically a QT wrapper around
the WebKit rendering engine. The platform abstraction layer is
implemented using QT. This includes text handling, painting, networking
and an easy to use public QT-ish API which is part of the WebKit
project. QTWebKit is scheduled for inclusion in QT4.4. QTWebKit exposes
a core HTML/CSS rendering engine, a platform abstraction layer and
client classes to provide a high level API.
There are several components in QTWebKit:
* qWebView is an easy to use browser widget
* qWebSettings allows for fine tuned behaviour
* qWebPageHistory/qWebHistoryItem provides full history and allows
for navigation
The WebKit architecture is such that the JavaScript implementation has
only few OS dependencies. Simon gave some examples of JavaScript
integration in QT:
* frame->evaluatejavascript(”..”) allows for inject JavaScript
from C++, permits document modifications
* frame->addToJSWindowObject(myObject) -> exposes custom QObject,
signals, slots, properties accessible from javascript
Simon then gave a highly impressive demo of QTWebKit. This was the first
*bling* we saw at FOSS.in and it much certainly much appreciated.
QTWebKit at this point does not support Flash or ActiveX. In the case of
Flash, supporting it in MS-Windows is easy but not on Linux, hence it
not being supported in QTWebKit.
The talk wrapped up by Simon outlining areas where people could get
involved in the development of QTWebKit.
Personal thoughts: Bling! Great talk, great demos!
--- Plan 9 from Bell Labs
Anant Narayanan spoke about Plan 9 from Bell Labs. This talk was perhaps
the most interesting talk I attended at FOSS.in, as it contained a whole
lot of interesting ideas and trivia. Anant started off by listing all
the things that are wrong with modern day Unix systems (a huge number of
system calls, no innovation in the desktop space, creating bindings of
languages for different languages, “everything is a file” moniker no
longer being followed etc).
Plan 9 was developed by members of the Computing Science Research Center
at Bell Labs, the same chaps who came up with Unix and C. Originally,
Rob Pike, Ken Thompson and several others developed it. Dennis Ritchie,
Brian Kernighan, Tom Duff, Doug McIlroy and other notable developers
have contributed to Plan 9.
Plan 9 offers a uniform interface for access to all resources. No files
are more special then others and 9P is Plan 9’s VFS which exposes 13
basic operations (eg read, write etc). 9P is minimalist and lightweight,
and can work over any reliable transport (shared memory, TCP, PCI bus
etc).
Servers are exposed by Plan 9 which serves resources in terms of files.
For example, writing to /dev/draw effectively writes to the screen. Plan
9 also offers per-process namespaces which effectively provides a
process view of the filesystem. In other words, processes cannot
interfere with another processes’s files. Very cool! In addition, since
everything is file based, there is no need for bindings. Just read and
write to the filesystem using your favourite programming language.
Anant went through some tools that Plan 9 uses. He also went through
security protocols, concurrency support (much like Erlang), text
processing (Plan 9 has native UTF-8 support, interesting trivia: UTF-8
was created by Ken Thompson and Rob Pike for Plan 9).
All in all, great talk! I look forward to testing out Plan 9 in a
virtual machine soon-ish.
Personal thoughts: Informative talk with lots of useful trivia.
--
May your signals all trap Ditesh Kumar
May your references be bounded ditesh at gathani.org
All memory aligned http://ditesh.gathani.org/blog
Floats to ints rounded http://www.openmalaysiablog.com
More information about the ossig
mailing list