Posts filed under 'opensource'
To Make, Ant and MSBuild
I am not sure if we can assume Ant as the replacement for Makefiles. But i feel they are good in their own ways. Makefiles are extensively used in opensource projects where in one can utilize the power of shell commands and rich set of options.
But the downside of Makefile is the availability of developers to write the build files and maintain. Even in my own experience i have seen many stumbling to resolve build issues. Esp. people who are not much into Unix. But still there are millions of code being compiled using Makefiles and it is definitely there to live long.
On Contrary there is a need for scripts which are easier to maintain/understand/cross-platform. And as always it is, xml is the answer. And build tools like Ant and MSBuild have acquired some reasonably good space share.
There are even cases where Ant to execute a MSBuild (after all just a native OS call considering the .NET framework installed) and MSBuild executing an Ant script.
All said, both the styles are there to remain long until we see a total drift in the way the projects and dependencies are handled. One best benchmark i would say for Makefile is the GNOME project. I guess it would have crossed 110 modules by the time now.
A must read article on Automake in FSM suggested by Ranga.
Add comment June 5, 2008
Complete Linux desktop
As a developer/Desktop User, i use Linux . But dual boot option still remains intact. Since there is only one PC at home and people have different likings, dual boot becomes unavoidable.
I always tried to convince desktop users to use Linux for their document works and web bowsing. But had a very little success. Even though i know the workaround to overcome some discomforts using Linux for Desktop work, i could never put them on words in my blog. I wanted to leave it to experts in Linux desktop usage.
Recently i found a comprehensible article in web about how Ubuntu can be used in place of windows. The author has highlighted the practical and useful points about how to switch to only Linux PC (provided you do not share your PC with a windows lover).
Some tit-bits:
“imagine upgrading Windows and having all your third party applications upgraded at the same time, everything from utilities and browsers to games and office applications. That’s what the upgrade system does here, checking all packages not just those originally installed, and grabbing the latest versions. Literally, fantastic, as I don’t need to hunt around for these myself. I even got a new version of my Sound Juicer.”
Click here to read the complete work
Add comment October 6, 2007
Firebug
Web 2.0 development at it’s beauty and elegance. This is the age of internetizing (as i call). Web based trade everywhere and there is a high demand for
dynamism in rendering information to the end user.
I was searching for a HTML DOM explorer in Firefox. The DOM explorers are very useful in debugging web applications. Especially the hackers live with tools
like these. Especially Inspect option is very useful.
Firebug is a useful DOM explorer add-on.
With help of add-on like Firebug, learning web becomes effective and students learning web get a better visual aid on how the document is structured and also
the ways to alter them effectively. The Ajax based applications development requires hands-on skills to handle tools like these.
Add comment August 1, 2007
patching no dilemma
Handcoding is the most favorable in the urgent times. But most of the IT managers end up in frustration/fear when it comes to maintaining it. But how is this tweaking/patching business taken care in the world of Opensource and the complimentary ecosystem ?
Most of the OSS project maintainers are developers(with managing ability too) by themselves. And there are even serious considerations/undergoing effort of making it distributed by having the project decomposed. This setup favors multiple responsibilities per project. Like in the case of GNOME project. Even though the contributor tweaks the code in an unconventional way, it reaches the maintainer for approval. Not only the way it works to correct but also with the quality of the code. The change log is maintained in almost every project by their own way of convenience.
There is generally an idea or belief that “Patches are costly”. But in the world of OSS, the more the number of patches, more solid the application becomes. In simple terms the Patches are thought as a “way of doing a thing”. Which “way” better suits the functionality is decided after spicy conversations among the contributors.
Add comment July 26, 2007
jasper ireport
I was looking for a opensource reporting tool for an application i develop. I chose jasper report. iReport (ide) is a handy tool to design reports. It also supports javabean datasource among the many other alternatives. There are also few useful inbuild classes available to test how JavaBean datasource works.
I tried implementing a bean datasource setup. It basically needs a factory class which returns a vector of bean object on invocation of a static method. The setup is quite simple.
The methodology goes like this,
- Create a new document using File -> New Document or Ctrl+N
- Next step is to create a datasource. Data -> Connections/Datasources -> New -> JavaBean set data source
- Give a name to the JavaBean data source
- Mention the Factory Class with the exact package where it is available. Leave other fields with their default values and press Test button. If the test is successful, press the button Save.
- To retrieve the bean fields, Data -> Report Query -> Select JavaBean Data source. Give the Bean class with the exact package name if any. Press Read attributes and Add the listed fields.
- The fields can then be made part of the document from View -> Fields and drag drop in to the document under design
Creating Factory Class and a Bean Class
package com.wordpress.ixfree;
import java.util.*;
public class FactoryBean
{
public static Vector createBeanCollection()
{
java.util.Vector coll = new java.util.Vector();
ExampleBean myBean = new ExampleBean();
myBean.setExampleage(35);
myBean.setExampleexperience(10);
coll.add(myBean);
return coll;
}
}
class ExampleBean implements serializable
{
private Exampleexperience;
private Exampleage;
public void setExampleage(int june21age)
{
this.Exampleage = june21age;
}
public int getExampleage()
{
return Exampleage;
}
public void setExampleexperience(int june21experience)
{
this.Exampleexperience = june21experience;
}
public int getExampleexperience()
{
return Exampleexperience;
}
}
Referring Bean Class
* Make a jar of the above classes and add it to the iReport<version>\lib directory. The look and feel depends on the designers creativity/purpose.
Click [for Jasper Reports Rendering as HTML]
21 comments July 4, 2007
