<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wikidot="http://www.wikidot.com/rss-namespace">

	<channel>
		<title>Iflockt - new forum threads</title>
		<link>http://iflockt.wikidot.com/forum/start</link>
		<description>Threads in forums of the site &quot;Iflockt&quot; - Birds of the soft feather</description>
				<copyright></copyright>
		<lastBuildDate></lastBuildDate>
		
					<item>
				<guid>http://iflockt.wikidot.com/forum/t-90734</guid>
				<title>War of Browsers</title>
				<link>http://iflockt.wikidot.com/forum/t-90734/war-of-browsers</link>
				<description>Browsers are very important to web development.</description>
				<pubDate>Sun, 21 Sep 2008 07:25:22 +0000</pubDate>
				<wikidot:authorName>itech</wikidot:authorName>				<wikidot:authorUserId>94732</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Every web developer when developing a web application does give a thought about the browser in which it will be used (well, not really!! IE is the de facto browser used by most of the clients :(. Currently a positive step is been taken by various companies to evaluate other browsers as well). Browsers play a important role in web development. And with various browsers competing with each other for supremacy its the web developer and end users who are the beneficiaries. With the release of Google Chrome beta, I got curious to find more about these browsers and the new features they offer in their War with other browsers.</p> <p><strong>Internet Explorer (IE 8):</strong><br /> According to stats IE currently holds 75% of browser market share. That's mainly because most of the desktop users use Windows OS (OK, It's time to move to Linux. I have done it!! hope many will follow :) ) With IE 8 due to be released, it offers features like</p> <p>InPrivate - Private browsing (your visits not stored in browser history ;))<br /> Smart Screen Filter - It prevents you from visiting deceptive and malicious websites ( a lift-off from Firefox 3)<br /> Search Suggestions - Gives smarter suggestions from your favorite search engines with visual previews.<br /> and other features which utilize Windows Live services.</p> <p><strong>Firefox 3.1 :</strong><br /> Well Mozilla seems to be working really hard to get some piece of action in the browser world and is constantly competing with the likes of Microsoft, Opera and now Google. Firefox now currently holds about 19% of browser market. In fact, it is Firefox which is keeping the browser world hot and happening. It is forcing other browsers to come up with new features and technologies.</p> <p>Addon support - there is a poweful library of addons and support (more info check my <a href="http://hnnaveenkumar.blogspot.com/2008/07/firefox-browser-surf-your-way_13.html">blog</a>).<br /> Javascript engine - With the evolution of Ajax and Object Oriented Javascript we will see lot of developers using it consistently and javascript engine plays a vital role in their development. Firefox 3.1 will have TraceMonkey Javascript platform which will speed up compiling and running the scripts. Mozilla's answer for Google chrome's V8 javascript engine, discussed later.<br /> Firefox Privacy Mode - Firefox plans to release this with its new release.</p> <p><strong>Google chrome :</strong><br /> Google seems to have a knack to come up with new things which makes waves in the web world. We need to give this giant a standing ovation for spear heading many of the technologies and bringing new products. Google Chrome is an open source browser which is tipped to run web-applications much better.</p> <p>Speed - currently its the fastest browser on planet(I am waiting for Firefox 3.1 which is tipped to perform better than chrome :) )<br /> Simplicity - It is a simple browser with less UI features.<br /> Searching - It provides an omnibox address bar which can be used to search items and type URL also.<br /> Privacy - It also provides a privacy mode called Incognito mode which makes the browser not to track your foot prints on various sites<br /> Javascript engine - Google has developed a Javascript engine of its own (though it used some components from Mozilla Firefox and Apple's webkit ) It is know as V8 engine which enables Chrome to run future web applications.<br /> Multiprocess architecture - Chrome runs tabs as separate process when compared to Firefox and Opera. This prevents crashing of browser from rogue sites.<br /> Chrome has lot to offer when it is released as a complete product. It is currently in beta stage.</p> <p>I leave other browsers like Opera and Safari to be explored on interest (nothing much happening in that front except for bug busting and bug fixing :)). As I said earlier, these new things happening in browser world will directly or indirectly influence developing of web applications, if not at present but at least in near future.</p> <p>P.S. : If you think I am little biased towards to Firefox - Yes!! I am a Firefox fan.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://iflockt.wikidot.com/forum/t-55917</guid>
				<title>Improving website Performance - some learnings</title>
				<link>http://iflockt.wikidot.com/forum/t-55917/improving-website-performance-some-learnings</link>
				<description>Listing of some techniques and tools for improving website performance which I have come across and used</description>
				<pubDate>Sun, 27 Apr 2008 09:59:49 +0000</pubDate>
				<wikidot:authorName>nacnez</wikidot:authorName>				<wikidot:authorUserId>79192</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>For the past few days, we have been working on improving the performance of some of the new features in our product/web application. Some of them have really worked for us. Thought of sharing them:</p> <p>1. Look for the optimum amount of data to be shown to the user: This is not a technical tip but has to do more with sensitivity to the usage of your site/application. There is a need to get only so much data which the user can see with convenience. For example in our application, we were showing around 25 rows on search results and the vertical scroll bar became pretty big. The side-menu occupied very small part of the browser real-estate. We then changed it to 10 rows and found the page to be more balanced. And that also reduced the amount of data we send across to the browser which increased responsiveness quite a bit. So do look to resize your pages as needed. Don't keep them too big.</p> <p>2. Gzipping/Compressing your response: If you are sending a huge amount of data in your response consider gzipping the content. This reduces the time taken to push the content across to the browser and for internet sites this could do a lot of good to the responsiveness. When doing this keep two things in mind. One: You would be able to use this only if the target browser can handle gzipped content (most browsers do that now a days). Two: Gzipping needs horse (read CPU) power and you better have what is required.</p> <p>3. Sourcing images/static content using hostname aliases: This is more of working around the limitation of the browser. The browser typically cannot make more than two parallel requests for such components with the same hostname. Hence if you create aliases to your host, that will increase the number of parallel requests the browser can make to get these components. Simple! Not so fast. Keep in mind that, this increases the number of DNS lookups and that adds to the overhead. So strike a balance. We plan to have 4 aliases in our application.</p> <p>4. Bundling and Minifying JS and CSS files: You know that for included JS and CSS files, the browser makes separate requests. Again two things here: Bundling these files into one file reduces the number of requests - a good thing. But keep in mind that you should not lose out on the caching of the browser of these files. So if a set of JS (or CSS) files are common to many pages, bundle them separately and include it in your pages instead of putting them into the page specific bundles. The second thing is to minify or compress these files. The reason is same as compressing the response. JSMin is quite famous for JavaScript compression. YUI has a compressor which is based on Rhino and it has support both JS and CSS compression. We are planning to use this as we found better compression with this.</p> <p>5. Use latest js libraries: If you are using JavaScript libraries, check out whether you are using the latest version. In most cases the latest version would be more performant (there could be exceptions), so would be good idea to move to the latest version. We are using jQuery and are planning to migrate from 1.2.1 to 1.2.3 version.</p> <p>6. Remove unnecessary inline js and css: It is always a good idea to externalize the inline js and css into linked js and css files. The js and css files are cached by the browser. This reduces the amount of markup sent across in the response each time.</p> <p>7. Use css instead of images for your page styling (like curves): Earlier whenever we wanted different kinds of styling like curves and dots, we used images. Now these can be done by css and rightly so. Using images for these effects will increase the number of requests for painting the page and hence reduce responsiveness. Many js libraries provide plug-ins for these nowadays.</p> <p>8. Using http 'if-modified' in AJAX calls: AJAX is a great technology (that is cliche and probably everybody knows it, but still could not resist it). It has helped all of us to make very responsive applications (ok I am sorry). We can further improve this if we introduce the 'if-modified' http header in these calls. This ensures that if the data is already present in the client side (may be a JavaScript variable), the same is not sent across again unless it has changed. This is just extending the behavior of browsers to images, js files etc to ajax calls. Most JS libraries make this pretty easy.</p> <p>9. Optmize JavaScript: In today's web applications, processing using JavaScript is pretty high. This is the same with our application as well. It is a good idea to optimize JavaScript towards this. Using a good js library like jquery solves most of the problems. At the same time, optimization must be kept in mind for other javascript code in our application. And that too across browsers.</p> <p>The above are the techniques we have tried/ are trying in our application. These have helped us in making our application much more responsive. Apart from these techniques, I found the below tools very handy:</p> <p>a) Firebug: This is one great tool that can be used with Firefox. I can't imagine JavaScript debugging without this. It is very powerful with css and html as well. It is almost a developer's dream come true. It is shame that it does not exist for IE (where it would have been even more useful).</p> <p>b)Fidder/Charles: Both are http debugging proxies. Allows you to analyze request and responses including time, content.</p> <p>There are a lot more features in these tools and they are worth investigating.</p> <p>On the whole, we all wish to make our applications very responsive and with least amount of sweat. And these techniques and tools would surely help us.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://iflockt.wikidot.com/forum/t-50272</guid>
				<title>Javascript Libraries</title>
				<link>http://iflockt.wikidot.com/forum/t-50272/javascript-libraries</link>
				<description>With web application becoming richer, javascript has started playing a very important role on the ui side. And with that have risen a lot of javascript libraries</description>
				<pubDate>Mon, 31 Mar 2008 10:16:20 +0000</pubDate>
				<wikidot:authorName>nacnez</wikidot:authorName>				<wikidot:authorUserId>79192</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I had almost never coded in Javascript before a couple of weeks. For my project we wanted to do some functionality on the client side and I needed to work on javascript. And I did not use much of direct javascript. I used a library called <a href="http://jquery.com/">jquery</a>. jquery has been around for more than two years now. There are other javascript libraries as well but I have exposure to none other right now.</p> <ul> <li>What jquery claims to be different is the way it uses CSS or Xpath selectors to work with the dom (both html and xml). Comes out pretty short and neat. I really liked that part. made things easy for me in many ways.</li> <li>It has support for ajax as well. I used that as well. Can work with html, xml and json output all of which can be manipulated in jquery/javascript pretty nicely.</li> <li>It has support for some ui components like sliders, capability to create curve edges to tables etc. I did not use directly. Other guys in the project have used.</li> <li>Also there are a bunch of plug-ins which are quite useful.</li> </ul> <p>All in all it was a learning experience. And I did not think before that javascript coding could be this much fun… I still have only touched the tip of the ice-berg, so the opinion can change :)</p> <p>Another great concept I got familiar with was closures. I have sort of got a hang of it. but not completely yet.</p> <p>Folks, if you find something interesting around javascript libraries do post on. DOJO, Prototype could be good candidates.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://iflockt.wikidot.com/forum/t-47787</guid>
				<title>JMX TEchnology</title>
				<link>http://iflockt.wikidot.com/forum/t-47787/jmx-technology</link>
				<description>What is JMX Technology?</description>
				<pubDate>Wed, 19 Mar 2008 05:06:13 +0000</pubDate>
				<wikidot:authorName>MithunK</wikidot:authorName>				<wikidot:authorUserId>87236</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>I was going through JRules architecture and found that it uses JMX technology in its rule execution server.<br /> And it was not the first time that I was seeing JMX being used, but I never bothered to understand what is this JMX all about. In this post I am putting my understanding of JMX which I got from going through some articles on net.<br /> The Java Management Extensions (JMX) technology is a standard part of the Java Platform,<br /> Standard Edition (Java SE platform). JMX provides a dynamic way for managing resources such as applications, services and<br /> devices. JMX is usually used to monitor and control the resources as they are created, installed and implemented. The JMX specification defines the architecture, design patterns, APIs, and services in the Java programming language for management and monitoring of applications and networks.<br /> Below are the main components involved in the usage of JMX:<br /> MBean/Managed Bean: These are the java objects which are used to instrument the resources.<br /> MBean Server: This is the management server in which all the MBeans will be deployed and running.<br /> JMX Agent: A JMX agent consists of a MBEan Server. This component is accessed by the management application/client application to get the information about the<br /> resources that it is monitoring.</p> <p>I am still going through more articles on JMX and will be posting more details on this. I also want you guys to share your experiences on JMX if you have used JMX in any of your projects.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://iflockt.wikidot.com/forum/t-47170</guid>
				<title>SVN Versioning!</title>
				<link>http://iflockt.wikidot.com/forum/t-47170/svn-versioning</link>
				<description></description>
				<pubDate>Sun, 16 Mar 2008 15:45:39 +0000</pubDate>
				<wikidot:authorName>Pratik Garg</wikidot:authorName>				<wikidot:authorUserId>80244</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Here i something gud in my current project.. SVN + Tortoise SVN .. I donno how many of us know about them but i have found them far better than other version file systems( to say PVCS or VSS)… Why?? Lets see…</p> <p>## Its open source..<br /> ## Setting it up is very very easy ..<br /> [<a href="http://blogs.vertigosoftware.com/teamsystem/archive/2006/01/16/Setting_up_a_Subversion_Server_under_Windows.aspx">http://blogs.vertigosoftware.com/teamsystem/archive/2006/01/16/Setting_up_a_Subversion_Server_under_Windows.aspx</a>]<br /> ## Many times we struggle up in finding the right plugin for the IDE which we are using.. if we end up finding nothing .. then we have an unending list of pains while using that versioning system.. Here i am using this with the Visual Studios ..without as a pluigin..n it feels like breeze using it..<br /> ## TortoiseSVN— this is the client to access the server.. adding/updating/deleting is just fun.. VSS/PVCS literally pisses you off when it comes to the operations like bulk additon or deletion of files in different folders..here Tortoise comes to the rescue<br /> ##You don't have to checkout a file before working on that.. all file are in NON Readonly mode.. which means N users can work on the file simultaneously..<br /> ##While checkin in if the file has been modified it merges them ,if it is unable to do that because of the overlapping sections. it gives you conflict errors..<br /> ## To see the diff/resolve conflicts you can use either the default app or others…(I am using BeyondCompare)..<br /> ##You can specify the way user should give the comments while checkin the file.. if he doesn't gives checkin fails..Curse for LAZY programmers.. :-)<br /> ## Patching/Branching are some of the other features…</p> <p>Actually you have to give it a shot to see more of it.. N lets discuss if something is not happening as it should ..</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://iflockt.wikidot.com/forum/t-45971</guid>
				<title>OSGI</title>
				<link>http://iflockt.wikidot.com/forum/t-45971/osgi</link>
				<description>OSGi framework</description>
				<pubDate>Mon, 10 Mar 2008 17:05:22 +0000</pubDate>
				<wikidot:authorName>ledzepu2</wikidot:authorName>				<wikidot:authorUserId>88830</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Hi ,</p> <p>2 -3 days back i started reading about OSGi framework . The brief Hello World kind of article(javaworld) interested me about the capabilities of the framework.<br /> This framework is already used heavily in the eclipse run time(Equinox is osgi framework used there). Even most of the app servers are in line to package themselves as osgi bundles.<br /> OSGi framework compartmentalizes a functionality into units called bundles. The osgi container allows us to interact with the bundles without having to restart the container.<br /> The framework also acts like a repository of bundles which can be discovered and bound to.<br /> OSGi it seems is a move towards building a SOA based ecosystem.<br /> Even SpringSource has lanuched a new project called 'Spring Dynamic Modules' which has been launched along with 2.5 release.<br /> Spring also aims to expose all its services as OSGi bundles.</p> <p>Please post anything else that you find about OSGi. I will keep posting more as i find out more abt OSGi.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://iflockt.wikidot.com/forum/t-44604</guid>
				<title>New language called Cobra</title>
				<link>http://iflockt.wikidot.com/forum/t-44604/new-language-called-cobra</link>
				<description>I don&#039;t know where the IT field is leading, everytime I try to learn and master one language and technology, there is something new in the market to learn. For now it is a new language called &quot;Cobra&quot;.</description>
				<pubDate>Tue, 04 Mar 2008 05:17:52 +0000</pubDate>
				<wikidot:authorName>Prabal</wikidot:authorName>				<wikidot:authorUserId>88240</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>For those who are interested in new languages here is some more stuff you might want to explore "<a href="http://cobra-language.com/docs/why/">http://cobra-language.com/docs/why/</a>".</p> <p>One way to characterize Cobra is with these high level points:</p> <p>1. Quick, expressive coding<br /> 2. Fast execution<br /> 3. Static and dynamic binding<br /> 4. Language level support for quality</p> <p>Cobra achieves 1 by following Python and Ruby (but not religiously). It achieves 2 by favoring static typing ("i = 5" means "i" is an integer and always will be) and leveraging .NET|Mono for machine code generation. It does 3 by using the .NET typing system at compile-time for static types, and using the .NET reflection system at run-time for dynamic binding. It gets 4 from multiple sources including Eiffel, Python and its own compile-time nil tracking.</p> 
				 	]]>
				</content:encoded>							</item>
					<item>
				<guid>http://iflockt.wikidot.com/forum/t-43648</guid>
				<title>Java Server Faces Experience</title>
				<link>http://iflockt.wikidot.com/forum/t-43648/java-server-faces-experience</link>
				<description>Good but can be better</description>
				<pubDate>Wed, 27 Feb 2008 09:08:29 +0000</pubDate>
				<wikidot:authorName>nacnez</wikidot:authorName>				<wikidot:authorUserId>79192</wikidot:authorUserId>				<content:encoded>
					<![CDATA[
						 <p>Sometime back we worked on JSF (My Faces) with facelets. The experience has been good for most parts. The components available out of the box with JSF implementations (standard, tomahawk, richfaces etc.) have been of great help with development. The decision of using facelets was a good one. It helped to make the view much easier to format for user experience. With all these good things, I found some really irritating issues.<br /> - Handling blanks with input fields that are bound to non-string values is a problem (though luckily solutions are available - specific converters).<br /> - There were scenarios where I switched from tomahawk components to standard components for making things work. The reason for which I never could understand.<br /> - A navigation rule syntax which is really very verbose.<br /> - A backing bean which can get quiet large and unwieldy depending on the features to be handled.<br /> - Making pop-up screens for lookups etc. - I could never get it working.<br /> - No provision for using get (only post supported)<br /> Some of these can get irksome, but I still felt that with Facelets, JSF makes web development far more easier. Pratik worked with me on this. Go ahead and add your thoughts buddy</p> 
				 	]]>
				</content:encoded>							</item>
				</channel>
</rss>