The reiser4 design document can be found here .
Provides a good overview of the Reiser4 filesystem. A must read for anybody interested in filesystems.
Wednesday, September 14, 2005
The reiser4 design document can be found here .
Posted by Krishna at 7:55 PM
Posted by Krishna at 7:37 PM
Peixes is a multilingual text editor that I'm currently working on. It is built upon the IMLI library. The UI is done using the FLTK toolkit. Since my company uses a mix of Linux, Win32 and Mac OS X, portability is a key requirement for peixes.
For the win32 port, I decided to use the MingW's port of the GCC compiler. I use KDevelop and Emacs under Linux. Under Windows, I narrowed my choice to Dev-C++ and Code::Blocks .
Both are good IDEs that come with a decent project manager, a class browser, intellisense for C/C++ and an integrated visual debugger. The other good thing is they support multiple compiler toolsets including GCC, DigitalMars, OpenWatcom and Borland's free command line compiler.
Code::Blocks can also import Dev-Cpp's project files. Code::Blocks supports project workspaces which can be of great help when working on multiple related projects. However I settled for Dev-Cpp because it is somewhat faster and snappier on my old PIII + 128M of RAM and Code::Blocks was sluggish and used more resources.
Dev-Cpp is written in Delphi and is Win32 only at the moment. Code::Blocks uses wxWidgets and aims to be cross-platform.
All that said, automatic code indenting is poor in both the IDEs when you compare with Emacs's. Code::Blocks's is atleast ok but Dev-Cpp's is pretty basic. I chose Dev-Cpp purely because of its responsiveness. Is worse better ?
A major plus for Dev-Cpp is its DevPak package manager. A DevPak is basically a tarball containing headers, libraries, templates etc that can be installed into the toolset. Installation is painless and fully automatic. DevPaks for popular libraries are already available. Following Dejan Lekic's instructions, I was able to build a DevPak for the latest FLTK-1.1.x sources in 10 minutes !
Would be an interesting exercise to do a side-by-side comparison of KDevelop, Code::Blocks and Dev-Cpp.
Compiling peixes itself was straightforward as it does not use anything system specific (except for Printing where it uses lpr and friends).
Since there is no filesystem standard under Win32, the application and the library needs to be fully relocatable and should not assume anything related to installation path. Therefore IMLI library required some minor modifications such as using the registry for storing path to data files etc.
The next step was to bundle everything using an installer. This time my choices were Inno Setup and NSIS. I chose NSIS because of its better compression ('LZMA /solid ' is really a heavy hitter) and simpler scripting.
Tools - I love them !
btw, Peixes is under GPL and will be hosted along with IMLI. The plan is to release version 1.0 of peixes for Linux and Win32 by mid october.
Posted by Krishna at 1:52 PM
Sunday, August 21, 2005
Some awesome pavement drawings can be found here . A sample:
Posted by Krishna at 11:31 PM
Tuesday, August 16, 2005
Last week, Venumadhav quit ETV and has joined GECIS as a consultant. Best wishes Venu!
I'm working on a text editor for indian languages. It is built on top of the IMLI library. Thanks to the availability of good libraries like FLTK, Cairo, libxml2, the editor's code is fairly straightforward. Currently working on an undo/redo facility. Looks like this Al Stevens article is the place to start.
Good to see blogger supporting images in posts.
Posted by Krishna at 2:46 PM
Monday, July 25, 2005
Me, Durga and Venu spent this Sun'day' at Indrani's house. We were supposed to get her internet connection working on Linux. We ate, talked, watched TV before actually getting down to work.
Looks like it will take another weekend. We (me & durga) plan to use it as an excuse to get out of RFC ;) .
Posted by Krishna at 9:27 PM
Sunday, June 26, 2005
Via Dirk Gerrits:
Google is funding NINE lisp based projects in their summer of code. Thats more than Subversion, NetBSD, Wine, SAMBA and Inkscape.
Lisp is alive and kicking :)
Posted by Krishna at 9:07 AM
Sunday, April 24, 2005
Recently, I switched to KDevelop as my primary IDE. Yesterday, I loaded the source code of mlt++ and boom! - it crashed. I was about to switch to SourceNavigator but then I remembered something. Back when I was a "proud" emacs user, I used to use ECB, the emacs code browser. Out of curiosity, I checked out the latest copy from CVS and loaded all of mlt++ code. To my surprise, it parsed the entire code base! . The version of emacs that was installed in my system is slightly old (21.3.x) and I read that a number of improvements were made since then. Besides, I never liked the lesstif based interface. So checked out a copy of the latest sources and built a spanking new version with gtk2. Here is a screenshot of a session.
At the core of ECB is the semantic framework (provided by CEDET) which provides support for parsing code. Intellisense (aka autocomplete) basically works but it has a lot of rough edges.
ECB comes with a number of different window layouts. Another big plus is it works just as well in terminals. Not many IDEs can do that.
There is one problem with ECB though: its key bindings. To go to the method display window from the editor window you have to type C-c . g m - a total of 5 keystrokes! - this is a punishment considering the fact that the Control key is badly placed on most keyboards.
A longterm gripe with emacs is it's font selection mechanism. XLFD should go away, period.
I like thin 'bar' cursors rather than the stocky block cursors, Adding this line in ~/.emacs solved the problem.
(setq default-frame-alist '((cursor-type . (bar . 1))))
Will post more details as I continue to explore ECB and friends.
Posted by Krishna at 2:42 PM
Saturday, April 23, 2005
After 6 hours of downloading (thanks to my poor dialup connection and the large frontends for Ada and Java), finally built GCC-4.0.1 on my machine.
As a first test, tried the compiler on the FLTK sources. The build was a breeze and was over within 10 seconds. As advertized, with -O0, the compiler simply blitzed through the sources.
In the next few days, I plan to build GNUstep (to check Objective-C), MLT, MLT++ and ShotCut. I'm particularly interested in the ELF symbol visibility options and size of the resulting binaries.
Posted by Krishna at 1:10 AM
Wednesday, April 20, 2005
Came to know that Raghu has got a job in StarNews as a Sr. System Admin. For the past few months, worked with him on MLT/Pyro installation and testing.
Wonder who's next...
Posted by Krishna at 4:40 PM
Wednesday, April 13, 2005
Wednesday, March 23, 2005
Highlight of the release is the PowerPC compiler and assembler.
Posted by Krishna at 3:52 PM
Monday, March 21, 2005
Finally, managed to check in the source tree of the IMLI project. Took almost an hour to upload the files to sf.net over a sloooow dialup connection.
Posted by Krishna at 8:40 PM
Friday, March 18, 2005
Adds native SVG support. Some sample SVG files can be found here .
Posted by Krishna at 8:36 PM
Friday, March 11, 2005
Former World Chess Champion and arguably the strongest chess player of all time, Garry Kasparov has announced his retirement from competitive chess. His career comes to an end on a high note with a victory at Linares today.
Posted by Krishna at 2:44 PM
Tuesday, March 08, 2005
Here . My particular favourite is the abstraction penalty benchmark.
Posted by Krishna at 9:50 AM
Yet another Lisp dialect+implementation.
From the website:
- Hedgehog is a very concise implementation of a Lisp-like language for low-end and embedded devices. It consists of a compiler and a byte code interpreter. The byte code interpreter is written in standard conforming C, is efficient and easily portable, and can be compiled to a very small executable of only some 20 kilobytes in the smallest configuration for the Intel x86 architecture.
- The Hedgehog Lisp dialect has proper support for local and lambda functions, lexical scoping, variable argument functions, garbage collection, exceptions, macros, and over a hundred predefined functions or special forms. The built-in types are lists, symbols, strings, 32-bit integers, AVL-trees, and tuples up to 16 elements wide. Proper 32-bit wide integers are necessary for various bit-level operations in embedded systems.
A paper and a set of slides describing the implementation is also available.
Posted by Krishna at 6:31 AM
Monday, February 21, 2005
Durga forwarded me this . In the post, Alex Stepanov is mentioned as Principle Scientist, Adobe Systems. In case you did'nt come across the name, he was the principal designer of STL and generic programming in C++ (and Ada).
Posted by Krishna at 5:36 PM
Today, woke up with a swollen left eye. Came to office in the afternoon. After finishing the pending code cleanups, decided to cleanup the mess that is my home directory. Found a few font files lying there. I downloaded them sometime back when I was looking for some nice programmer friendly fonts. By programmer friendly I mean fonts that are easy to read, pleasant so that you can stare at it for long hours, clearly distinguish characters like 0,O,1,l,I and also pack many lines in one screen. So I decided to give these fonts a try:
- Anonymous - this is my current choice.
- Proggy fonts - the ttf fonts are terrible. However, the bitmap versions work fine.
- Terminus - I really like these fonts. Since these are bitmap fonts, I'll have to specify the full XLFD string which is a real pain. This is the only reason stopping me from using these fonts. The README says that the fonts work on Linux and BSD consoles too but I could not get them to work (consolechars failed to load the font file).
- Monaco - I think I copied this from a Mac. If the font is freely available, I'll switch ;)
I'll start hunting for more fonts after Bihar elections. In the meanwhile, if you have any pointers to good fonts please leave a comment.
BTW, the screenshots were taken using Shutterbug - a fine screengrabber that comes with the FOX toolkit.
Posted by Krishna at 3:49 AM
Saturday, February 19, 2005
This is a fine piece of work. For a person who does not know Sanskrit this is a great help. Since a word by word translation is provided, I can actually read it in Tamil and make sense out of it!
Posted by Krishna at 7:23 PM
From the changelog:
- Improved Windows port, thanks to Mackenzie Straight.
- Improved web framework, thanks to Chris Double.
- Beginnings of GUI toolkit -- try running examples/gadget-test.factor.
- Automatically-resizing hashtables.
- Doubly-linked mutable lists, thanks to Mackenzie Straight.
- SDL-ttf binding for anti-aliased text rendering.
- SQLite database binding, thanks to Chris Double.
- Improved jEdit plugin.
- Optimizations, bug fixes, cleanups.
Since 0.71, an x86 assembler is also available. I plan to write some Factor code after Bihar elections. CL is another language that I want to learn. Hmmm... elections... I hate them.
Posted by Krishna at 6:53 PM
Friday, February 18, 2005
Was surprised to learn that Jagan is actually heading to Chennai and not Mumbai. He has joined HCL and will be working on storage.
Bloggomania is catching on in my team. Now everybody has one. Only Raju (our enthusiastic office attendent who is like a living google when it comes to day-to-day info) is left I guess. Will talk to him tomorrow :)
Posted by Krishna at 9:08 PM
Thursday, February 17, 2005
Today is Jagan's last working day in ETV. He'll be moving to Reliance.
Good luck and best wishes to him.
Posted by Krishna at 10:42 PM
Terrible day so far. Up and down to the PCRs,
fighting with a crashing Viz|RT and the list goes on...
Durga's was even bad. He had to give a presentation to the
NCs and the location was changed three times!
Posted by Krishna at 10:08 PM
Tuesday, February 15, 2005
On the 13th, BGa married Saroo. We all (our team) went to the reception. BGa was looking great and Saroo was looking like an armoured vehicle. 'll have to admit it - getting back to work after a good dinner was very difficult indeed.
Posted by Krishna at 11:00 PM
Saturday, February 12, 2005
Tuesday, February 01, 2005
Sample chapter from Herb Sutter and Alexandrescu's book "Exceptional C++ Style".
Posted by Krishna at 9:38 AM
Saturday, January 29, 2005
Check this out for Nicolas Roard's flash demo.
Posted by Krishna at 3:03 PM