tag:blogger.com,1999:blog-321673132024-02-02T20:47:49.343+05:30*.*everything under the Sun (pun definitely not intended)Ashish Chatterjeehttp://www.blogger.com/profile/09631095474055844075noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-32167313.post-13883294539943955362012-11-13T19:39:00.000+05:302012-11-13T19:39:00.045+05:30Resurrection Remix @ Samsung Galaxy S2<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
Having rooted my phone about 6 months back (just a month before the warranty expired) I should have posted this slightly earlier. But hey....<br />
<br />
My Samsung Galaxy S2 is now on Resurrection Remix AOKP Edition.<br />
This is a custom ROM written by westcrip and a bunch of folks. Brings the goodness of the Open Source android to my S2 much faster than the poor folks at Samsung are able to (am calling them poor as by now I think there are probably only 2 engineers still working on S2 software now and one just can't expect them to compete with open source).<br />
So, right now I am on v3.1.2- which brings the goodness of Jelly Bean 4.1.2 alive.<br />
<br />
Some great resources I used to bootstrap on the custom ROM learning curve are<br />
<blockquote class="tr_bq">
Galaxy S2 root- <a href="http://galaxys2root.com/galaxy-s2-roms/resurrection-remix-rom-for-galaxy-s2-gt-i9100sgh-i777/">Post on 3.1.1</a> and their <a href="http://galaxys2root.com/galaxy-s2-faq/">great FAQ</a>RR's forum site- http://forum.xda-developers.com/showthread.php?t=1436854</blockquote>
<br />
Take the Blue Pill. Have fun!<br />
<br />
PS- The new gesture keyboard with JB 4.1.2 is awesome. Almost as good as Swype. Waiting for Google to be sued by them. :P</div>
Ashish Chatterjeehttp://www.blogger.com/profile/09631095474055844075noreply@blogger.com0tag:blogger.com,1999:blog-32167313.post-34234151632900144642012-10-08T11:06:00.001+05:302012-10-08T11:06:14.461+05:30Free Product Advice- Data Cards<div dir="ltr" style="text-align: left;" trbidi="on">
Dear Airtel, Tata Photon, Reliance Netconnect, and Sundry,<br />
<br />
Here is how your datacard experience should look like<br />
<br />
<br />
<ol style="text-align: left;">
<li>Plugin a data-card. This is a thin (good-looking too?) device. Only as wide as the USB port so that it doesn't block the usage of other ports. Means your customers can do things like use mice, charge their phones etc. in parallel. </li>
<li>(OPTIONAL) First time, prompt and istall any needed device drivers, etc. </li>
<li><b style="background-color: #6aa84f;">Simply start working!</b> Don't open an app that will suck resources, is slow as hell and has one button called connect/disconnect!</li>
</ol>
<br />
I will happily pay the first one of you that makes these changes- 500 bucks premium.<br />
<br />
Thanks,<br />
A-frustrated-customer. </div>
Ashish Chatterjeehttp://www.blogger.com/profile/09631095474055844075noreply@blogger.com0tag:blogger.com,1999:blog-32167313.post-15441051010352076952010-06-05T20:30:00.002+05:302010-06-05T20:35:10.501+05:30one of the better patent quotes recently<span style="font-weight:bold;">"</span><br /><blockquote>...ideas generally have no economic value whatsoever, except in rare cases such as when a patent is issued. And even in those cases it's the patent law that creates the value, not the ideas.<br /></blockquote><br /><span style="font-weight:bold;">"</span><br />- Scott Adams, <a href="http://dilbert.com/blog/entry/the_value_of_ideas/">Dilbert blog</a>.Ashish Chatterjeehttp://www.blogger.com/profile/09631095474055844075noreply@blogger.com0tag:blogger.com,1999:blog-32167313.post-35811025471201354642009-08-14T02:42:00.003+05:302009-08-14T03:00:09.307+05:30rails and unit teststoday i came across a case when i wanted to test some code that would eventually be running on the rails environment (a bj job) but didn't really have anything Rails-y other than logging via <span style="font-family:monospace;">Rails.logger.debug</span> etc.<br /><br />i ended up creating a stub for the rails logger so that i could run this as a simple unit test case instead of a rails test case which take a helluva long time.<br /><br />add a new file called 'rails_stub.rb' into your test folder. in that dump the following code-<br /><p></p><pre><span style="font-family:monospace;"><br />module Rails<br /> #rails stub<br /> def Rails::logger<br /> return Rails::Logger.new<br /> end<br /> class Rails::Logger<br /> def debug string<br /> log "DEBUG:\t"+string<br /> end<br /> def info string<br /> log "INFO:\t"+string<br /> end<br /> private<br /> def log string<br /> # adding a prefix<br /> print "RAILS_LOG:"+string<br /> end<br /> end<br />end<br /></span></pre><p><br />in the test case, just <span style="font-family:monospace;">require rails.rb </span> and you are set to go., running the test case from the command line will dump the logs onto the terminal.<br /><br />exercise for the future- get this stub logger to be a littl emore fancy- supress by level etc.</p>Ashish Chatterjeehttp://www.blogger.com/profile/09631095474055844075noreply@blogger.com0tag:blogger.com,1999:blog-32167313.post-34564496782920170882009-07-26T13:01:00.003+05:302009-07-26T13:12:07.796+05:30unit testing private methods in rubydon't u just love this???<br /><blockquote><br /><pre><br />class Class<br /> def publicize_methods<br /> saved_private_instance_methods = self.private_instance_methods<br /> self.class_eval { public *saved_private_instance_methods }<br /> yield<br /> self.class_eval { private *saved_private_instance_methods }<br /> end<br />end<br /></pre><br /></blockquote>and to test the private method <span style="font-style: italic;">blah</span> of a class <span style="font-style: italic;">Foo</span><br /><blockquote><br /><pre><br />class TestFoo &Test::Unit::TestCase<br /> def test_blah<br /> Foo.publicize_methods do<br /> assert_not_nil Foo.blah<br /> end<br /> end<br />end <br /></pre></blockquote><br /><br />and thats it... :)Ashish Chatterjeehttp://www.blogger.com/profile/09631095474055844075noreply@blogger.com1tag:blogger.com,1999:blog-32167313.post-28341229884346277242008-06-26T15:45:00.001+05:302008-07-03T14:01:53.437+05:30keyboard GUIs<p>A few days back I stumbled across a world of what i call 'keyboard GUIs' though which is much better terminologized and explained in the article <a href="http://labs.mozilla.com/2007/07/the-graphical-keyboard-user-interface/" target="_blank" title="The Graphical Keyboard User Interface">The Graphical Keyboard User Interface</a>. In short this encompasses those UIs that try to marry the intuitiveness of the GUI with the speed of the keyboard based command-line style. And since then I have been discovering them all over the place...</p><br /><p>1. <a href="http://www.launchy.net/" target="_blank" title="Launchy (windows)">Launchy (windows)</a> - Somewhere between the linux Alt-F2 run dialog and the windows UI. <img src="http://img262.imageshack.us/img262/4259/launchyhu4.png" style="DISPLAY: block; MARGIN-LEFT: auto; MARGIN-RIGHT: auto; TEXT-ALIGN: center" height="212" alt="launchy.png" width="467"/> Once you start using it, you start wondering what life was before it and contemplating those other poor windows users still stuck to point and click...</p><br /><p>2. <a href="http://reader.google.com/" target="_blank" title="Google Reader">Google Reader</a> Keyboard Shortcuts- especially 'jump to subscription' ('g'+'u') I think the Google Reader UI was starting to get really cluttered (or maybe its because I have 250+ subscriptions) when they gave the keyboard shortcuts and saved me from having to search all over the place for the next thing to read. <img src="http://img262.imageshack.us/img262/7286/readergujk7.png" style="DISPLAY: block; MARGIN-LEFT: auto; MARGIN-RIGHT: auto; TEXT-ALIGN: center" height="201" alt="reader_g+u.png" width="1016"/> ** Wish those guys would add some wildcards into that search thoug, given that there are a whole load of feeds that start with <em>the</em></p><br /><p>3. And lastly we come to our friendly <a href="http://www.eclipse.org/" target="_blank" title="Eclipse">Eclipse</a> which has this superman-shortcut (accessible via Cntrl+3) that gives you search over a whole bunch of thingamajigs. <img src="http://img262.imageshack.us/img262/112/eclipsecntrl3pj7.png" style="DISPLAY: block; MARGIN-LEFT: auto; MARGIN-RIGHT: auto; TEXT-ALIGN: center" height="474" alt="eclipse_cntrl+3.png" width="646"/> *I am not sure which version this shortcut and UI was available from. I tried it on Ganymede (3.4) and am quite sure it doesn't work on 2.12 which I use in office.</p><br /><p>UPDATE: FireFox already has a prototype plugin <a href="https://addons.mozilla.org/en-US/firefox/addon/5244" target="_blank" title="Cntrl-Tab">Cntrl-Tab</a> by Dao which in which on hitting <em>F4</em> you get a cool multi-window tab grid with a filter input box <img src="http://en.design-noir.de/mozilla/ctrl-tab/all-tabs.jpg" style="DISPLAY: block; MARGIN-LEFT: auto; WIDTH: 595px; MARGIN-RIGHT: auto; HEIGHT: 278px; TEXT-ALIGN: center" height="256" alt="Cntrl-Tab ('F4')" width="546"/></p>Ashish Chatterjeehttp://www.blogger.com/profile/09631095474055844075noreply@blogger.com0tag:blogger.com,1999:blog-32167313.post-71407377074591147572008-04-08T19:36:00.014+05:302008-04-25T20:26:21.710+05:30JAX India 2008- Day 1starting today and for the next four days i'm attending <a href="http://www.sda-india.com/conferences/2008/JAX-INDIA/">jax india 2008</a> thanks to my <a href="http://www.sap.com/india/company/saplabs/index.epx">employer</a>.<br /><br />the conference is happening at the jn tata audi@iisc which is like 20 km from my house, so i had to leave real early at around 8 am (my mantra being to wake up post meridian if one can get away with it) in order to reach there in time.<br /><br />which, thanks to bangalore traffic, i didn't of course- missing most of the introductory session. so from what i gathered in the last 5 minutes of that was that the conference is <br /><ul><br /><li>a series of such events 'round the globe</li><br /><li>has been around for a few years now and</li><br /><li>is a mash-up of 3 conferences in 1- eclipse, java-stuff and enterprise stuff (formally enterprise architecture).</li><br /></ul><br /><br />that said, we dived into the first session which was <a href="http://www.sda-india.com/conferences/2008/JAX-INDIA/sessions_popup.php?session=61"><span style="font-style: italic;">scripting support on the java platform</span></a> by <a href="http://blogs.sun.com/chuk/">Chuk</a>- a session introducing scripting basics and <a href="http://www.jcp.org/en/jsr/detail?id=223">JSR-223</a> and . though the session was delivered by the exuberance of an evangelist, somehow the fact that the examples were in javascript (which has always given me the heebie jeebies), which is the <a href="http://www.mozilla.org/rhino/">default bundled scripting engine</a> in jdk 6, put me off a little. also the api for calling/running scripts from within java code seemed pretty ugly as seen in the sample below-<br /><br /><div style="text-align: left;"><span style=";font-family:courier new;font-size:85%;" >ScriptEngineManager seManager = new ScriptEngineManager();</span> <span style="font-size:85%;"><br /></span><span style=";font-family:courier new;font-size:85%;" >ScriptEngine engine = seManager.getEngineByName("js");</span> <span style="font-size:85%;"><br /></span><span style=";font-family:courier new;font-size:85%;" >try {</span> <span style="font-size:85%;"><br /></span><span style=";font-family:courier new;font-size:85%;" >engine.eval("println('hello there');");</span> <span style="font-size:85%;"><br /></span><span style=";font-family:courier new;font-size:85%;" >} catch (ScriptException e) {</span> <span style="font-size:85%;"><br /></span><span style=";font-family:courier new;font-size:85%;" >e.printStackTrace();</span> <span style="font-size:85%;"><br /></span><span style=";font-family:courier new;font-size:85%;" >}</span></div><br />more info on this topic at <a href="https://scripting.dev.java.net/">scripting.dev.sun.net</a><br /><br />the one tidbit i paid notice to was that java 7 might change the way the software is downloaded/available to decouple the vm and the 'java' part of it and allow need based download...<br /><br />next up was the session by <a href="http://glaforge.free.fr/weblog/">Guillaume</a> on <a href="http://groovy.codehaus.org/">groovy</a> which is a new gen scripting language that runs on the java vm.<br /><br />initial snippets he showed us gave me the impression that this is heavily 'inspired' from ruby, though i was amazed at the flexibility of the language when Guillaume walked through a demo where he took a slightly complicated HelloWorld program using a JavaBean, ran it on groovy, and hacked it line by line into a 'groovier' form while demoing the syntax sugar. All i can think is that the grammar must be a bitch!<br /><br />2 more cool things-<br /><ul><br /><li>a <a href="http://groovy.codehaus.org/COM+Scripting">com library</a> that begs for further exploration and</li><br /><li>a <a href="http://docs.codehaus.org/display/GROOVY/Make+a+builder">builder pattern</a> that's so bloody cool !!! see a so-natural usage in <a href="http://groovy.codehaus.org/Swing+Builder"><span style="font-family:courier new;">SwingBuilder</span></a> example below</li><br /></ul><br /><div style="text-align: left;"><span style="font-size:85%;"><span style="font-family:courier new;">import groovy.swing.SwingBuilder</span></span><br /><span style="font-size:85%;"><span style="font-family:courier new;">import java.awt.BorderLayout</span></span><br /><span style="font-size:85%;"><span style="font-family:courier new;">def swing = new SwingBuilder()</span></span><br /><span style="font-size:85%;"><span style="font-family:courier new;">count = 0</span></span><br /><span style="font-size:85%;"><span style="font-family:courier new;">def textlabel</span></span><br /><span style="font-size:85%;"><span style="font-family:courier new;">def frame =</span></span><br /><span style="font-size:85%;"><span style="font-family:courier new;">swing.frame(title:'Frame', size:[300,300]) {</span></span><br /><span style="font-size:85%;"><span style="font-family:courier new;">borderLayout()</span></span><br /><span style="font-size:85%;"><span style="font-family:courier new;">textlabel = label(text:"Clicked ${count} time(s).",</span></span><br /><span style="font-size:85%;"><span style="font-family:courier new;">constraints: BorderLayout.NORTH)</span></span><br /><span style="font-size:85%;"><span style="font-family:courier new;">button(text:'Click Me',</span></span><br /><span style="font-size:85%;"><span style="font-family:courier new;">actionPerformed: {count++; textlabel.text = "Clicked ${count} time(s)."; println "clicked"},</span></span><br /><span style="font-size:85%;"><span style="font-family:courier new;">constraints:BorderLayout.SOUTH)</span></span><br /><span style="font-size:85%;"><span style="font-family:courier new;">}</span></span><br /><span style="font-size:85%;"><span style="font-family:courier new;">frame.pack()</span></span><br /><span style="font-size:85%;"><span style="font-family:courier new;">frame.show()</span></span></div><br /><br />after that started a keynote session delivered by <a href="http://www.thoughtworks.com/who-we-are/our-people/profiles/Singham,+Roy.html">roy singham</a> of thoughtworks titled 'shift happens' which was centered around some predictions of whats going to change (mainly die out) over the next few years in i.t., but morphed into a passionate speech ranging on topics from customer-confidence to soa to ecology to lean-manufacturing to project-management-pitfalls to <a href="http://ola-bini.blogspot.com/">Ola-Bini</a>... inspiring/thought-provoking and definitely challenging one's ego.<br /><br />after a pretty good lunch, i got back to a session on tips'n'tricks on eclipse plug-in development by <a href="http://mea-bloga.blogspot.com/">Chris</a>. was pretty fast as most people in the session were like me, nubies to plugin dev, so chris had to go through an extra (backup) slide deck on eclipse pde 101 to get up up to speed.<br /><br />lecture notes-<br /><ul><br /><li>read-up on OSGi (planning to start <a href="http://www.javaworld.com/javaworld/jw-03-2008/jw-03-osgi1.html?page=1">here</a>)</li><br /><li>the <a href="http://mea-bloga.blogspot.com/2007/11/plug-in-spy-rcp-and-eclipse-33.html">Plugin Spy</a> tool available in 3.4+?</li><br /><li><a href="http://www.eclipse.org/tptp/">tptp</a> for profiling (why is my ide pregnant?)</li><br /></ul><br />looking forward to the hands-on session with him this friday.<br /><br />the final session of the day was on soa challenges by <a href="http://kensipe.blogspot.com/">Ken</a> which was a humorous and interesting session on the various problems faced in soa adoption/implementation on the business, political, strategic and (least) technology fronts.<br /><br /><span style="font-weight: bold; font-style: italic;font-size:85%;" >ps- all information about the speakers and sessions is from my weak memory+googling.. so any inaccuracies are totally my fault.</span>Ashish Chatterjeehttp://www.blogger.com/profile/09631095474055844075noreply@blogger.com0tag:blogger.com,1999:blog-32167313.post-76697162432480623972008-03-19T12:13:00.009+05:302008-12-10T14:16:49.851+05:30firefox 3 beta 4downloaded the beta 4 for firefox (from <a href="http://www.mozilla.com/en-US/firefox/all-beta.html">here</a>) after reading multiple news snippets about it in a day.<br /><br />initial impressions with regards to its performance was quite good. it started up much faster (which is not a mean thing as at any point in time i have about 40 tabs in 4 windows from the last session). it also seemed to take a wee bit lesser in memory over the 5 hours that I was using it, but then let me down by crashing sometime during the night. :(<br /><br />apart from the performance i found that the new gui seems much cleaner, especially the new <span style="font-style: italic;">navigation toolbar</span> and its buttons.<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNprKaC7Z-x4NAeIwU74OQuWCJsU7CBHoe4XM694iZ-xwt2OngH7YFxcmIFz8MlqTeweteJsOAkV_7xGEYv6LD_RWeHWRNe8_m9J4Bzp90qTB1XRt76qpHoEfZOKBrnuFb9rAO/s1600-h/navigation_toolbar_on_ff_3.0b4.gif"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNprKaC7Z-x4NAeIwU74OQuWCJsU7CBHoe4XM694iZ-xwt2OngH7YFxcmIFz8MlqTeweteJsOAkV_7xGEYv6LD_RWeHWRNe8_m9J4Bzp90qTB1XRt76qpHoEfZOKBrnuFb9rAO/s400/navigation_toolbar_on_ff_3.0b4.gif" alt="" id="BLOGGER_PHOTO_ID_5179365713423833954" border="0" /></a><br /><br />i also liked were also the pop-up style password manager and the cool scrolling effects on the tab bar (the ones that appear when you have too many tabs open to render them in one screen).<br /><br /><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dxh4VNr5wRLTsdie_ND47SbwxXPtm94xV_XJcCro01byk_IfEma1v7dU2EJyVIQVqMWfafXvOJDhrU' class='b-hbp-video b-uploaded' frameborder='0'></iframe><br /><br /><br />but the single worst thing i saw was the rendering of fonts. never been an expert in this field and so i can't tell you in technical words whats wrong. just that it looks yucky!!<br />the site most hit by this was <a href="http://mail.google.com/">gmail</a>. pics not included as I realized i really didn't want pix of my mailbox on the internet :) instead u can see screen-shots of <a href="http://reader.google.com/">google reader</a> in <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdbPLZ0BVld2UrBXuII5cHzOxsA4e4ra4PJA5S9aNiLgqgsP7Edbb7_mwT-Q1jIxB6N0lfUd54wkr4hFaCTnUohGNfcK8h_owDAffKRPHxGA0c1ScaTbi6WspwyIogSkH_5ALW/s1600-h/google_reader_on_ff2.0.0.12.gif">ff2.0..0.12</a> and <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFRWbFSIjxUJiC37UiFxQiLUCXB1rfCCzrAFaR8m0Bo2mUenD0nxG2CaROpfpfk5bGBUR8QA1SN8hcEgnNFh550tDEzKaRV_GU2A0vQ-Tmii8BZYQFhmT2K_pfUENvskfBYhf4/s1600-h/google_reader_on_ff_3.0b4.gif">ff3.0b4</a>]Ashish Chatterjeehttp://www.blogger.com/profile/09631095474055844075noreply@blogger.com0tag:blogger.com,1999:blog-32167313.post-13389064633551054542007-11-16T19:46:00.000+05:302007-11-16T19:47:52.157+05:30BCB5<pre><a href="http://www.barcampbangalore.org" title="Barcamp Bangalore 5 - Winter Edition"><img src="http://barcampbangalore.org/w/images/5/52/Bcb5_know.png" border="0" /></a></pre>Ashish Chatterjeehttp://www.blogger.com/profile/09631095474055844075noreply@blogger.com0tag:blogger.com,1999:blog-32167313.post-58602648695973666322007-09-26T18:05:00.000+05:302007-09-26T18:13:57.890+05:30hindi tranliteration in orkutWas quite pleasantly surprised today to see <a href="http://help.orkut.com/bin/answer.py?answer=73804">Hindi transliteration support</a> in <a href="http://www.orkut.com/">Orkut</a>.<br />This was a topic that was discussed in brief during the <a href="http://barcampbangalore.org/wiki/BCB4_Collectives#BangAJAX_Collective">AJAX Collective at Bar Camp Bangalore 4</a><br />and I'd put it down as one of the things i need to study up.<br /><br />Well, seeing the coolness live on Orkut, it definitely moves up my to-do list.Ashish Chatterjeehttp://www.blogger.com/profile/09631095474055844075noreply@blogger.com3tag:blogger.com,1999:blog-32167313.post-89723350586877809312007-07-29T15:03:00.001+05:302007-07-29T19:14:33.821+05:30me @ BCB4 @ 2.30 PM<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://barcampbangalore.org/w/images/thumb/4/49/BCB4_logo.png/250px-BCB4_logo.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px;" src="http://barcampbangalore.org/w/images/thumb/4/49/BCB4_logo.png/250px-BCB4_logo.png" alt="" border="0" /></a><br /><br />Having missed out the first day of <a href="http://barcampbangalore.org/wiki/Main_Page">barcampbangalore-4</a> due to a fatal combination of rain, whiskey and all-night Harry Potter, me and a college buddy- Sudarshan, managed the longish ride to <span style="font-style: italic;">BarCampBangalore4, The Collectives Edition</span>.<br />Being a newbie to barcamp I did spend some time on <a href="http://en.wikipedia.org/wiki/BarCamp">the wiki </a>trying to familiarize myself with the concept... and considerable time selecting the collectives i wanted to attend...<br /><br />And thus, the morning (in myTimeZone that's 11 am) found me in the BangAJAX collective. Since i know didly about AJAX, having only downloaded a Head Rush book on the same and archiving it, what pulled me to the collective was the agenda -<blockquote><blockquote></blockquote>Introduction to Web 2.0 & AJAX --Sridhar Rao, This session is meant for newbies & begineers. Overview of web 2.0, ajax, xml, and why one should care about AJAX.<blockquote></blockquote></blockquote>However, the session didn't live up to my expectations, as, except for the first 15 minutes it was peppered with random (read non-newbie) questions-answers dialogues - an example - 20 minutes into the session this guy goes... "Hi I am a newbie to AJAX, having implemented only a couple of production projects(<a href="http://en.wikipedia.org/wiki/Newbie">newbie</a>!!), can you tell me how I can get rid of cross-browser topics as some of the stuff works fine on IE and Forefox 1.5 but not 2.0.5"...<br /><br />I guess the takeaway for me was the large variety of AJAX libraries in use... this might be as nightmarish as the multiple implementations/support levels of javascript (which was what scared me away from the field in the past)... A <a href="http://www.ddj.com/dept/lightlang/199203087;jsessionid=RPNRQTPQIB50SQSNDLPSKH0CJUNN2JVN">comparison of the capabilities of</a> the same seems to be one the first things i need to do when diving in...Also, here are some of the notes I'd scribbled down... mainly for my reference..<br /><ul><li>A demo was done on the <a href="http://www.aptana.com/">Aptana IDE</a>, which was free web IDE... based on eclipse platform I think...</li><li>The speaker used WAMP server.. the windows version of <a href="http://en.wikipedia.org/wiki/LAMP_%28software_bundle%29">LAMP</a></li><li>Scriptaculous and RICO was suggested for better UI design</li><li>http://crockford.com/ was a highly suggested reading material - for any newbie to the javascript language...<br /></li><li>Firebug for every thing in the SLDC... and Firefox as a must browser for the dev environment...</li><li>HTTP chunked encoding... and <a href="http://en.wikipedia.org/wiki/Comet_%28programming%29">Comet</a>... was also touched upon</li><li>The author's blog - <a href="http://srinix.wordpress.com/">http://srinix.wordpress.com</a><br /></li></ul><br />Next up was the topic <span style="font-style: italic;">SEO Considerations for AJAX </span>which more like a look into the subject of how to make your AJAXified site searchable in the first place...<br />One of the deeper thoughts that was tossed about in this session was that AJAX UIs basically change the interaction model i.e. links lose their relevance and that search engines will have to put more effort into how they crawl through such sites... till then follow some tips'n'tricks such as <a href="http://www.onlinetools.org/articles/unobtrusivejavascript/">Unobtrusive Javascript</a>, and <a href="http://domscripting.com/blog/display/41">Hijax</a>...<br /><br />Last discussion was by Shivku, on the <a href="http://developer.yahoo.com/yui/">YUI</a> (Yahoo UI Library - I think they are going to pay a price for this all too generic name)<br />The presenter basically walked us through the feature set it provides via their dev network site...<br />Note to self- Look into the <a href="http://developer.yahoo.com/yui/articles/gbs/index.html">graded browser support</a> design pattern.<br />Presenter's blog - <a href="http://blog.shivku.com/">http://blog.shivku.com</a><br /><br />And then it was lunch time... :)Ashish Chatterjeehttp://www.blogger.com/profile/09631095474055844075noreply@blogger.com1tag:blogger.com,1999:blog-32167313.post-1157896243862889432006-09-10T19:16:00.000+05:302006-09-10T19:20:43.870+05:30ebooks heavenA gazillion software e-books for free at <a href="http://flazx.com">Flazx.</a><br />On-demand ebook downloads in now the way to go. :-)Ashish Chatterjeehttp://www.blogger.com/profile/09631095474055844075noreply@blogger.com0tag:blogger.com,1999:blog-32167313.post-1154682967181888602006-08-04T14:28:00.000+05:302006-08-04T14:46:58.696+05:30Development time Exception handling in a HTTPServletI find that a servlet is usually the best/fastest/least_config way to try out things on a j2ee server. So, I tend to write all my Proof of Concept level code in a servlet. <br /><br />So, what's the best way of checking out what exceptions occur? Even though we could log them and view it via the traditional log method, I prefer dumping the trace onto the screen as well.<br /><br />So, here's a little utility code that does it for you...<br /><br /><blockquote><span style="font-style:italic;">private void dump_log_on_output(Exception e, Writer writer) throws IOException {<br /> ByteArrayOutputStream baos = new ByteArrayOutputStream();<br /> PrintStream err = new PrintStream(baos);<br /> e.printStackTrace(err);<br /> String trace = baos.toString();<br /> try {<br /> baos.close();<br /> writer.write("\n" + e.toString() + trace);<br /> writer.close();<br /> return;<br /> } catch (IOException ioe) {<br /> ioe.printStackTrace();//hoping this goes to the logs or server shell<br /> } finally {<br /> writer.close();<br /> }<br />}</span></blockquote><br /><br />And you call it like so:<br /><br />protected void doGet(HttpServletRequest request, HttpServletResponse response)<br />throws ServletException, IOException {<br /><blockquote><span style="font-style:italic;"> try {<br /> /*logic and other yada, yada */<br /> } catch (Exception e) {<br /> // Caveat:: You better not have wasted the response Writer already!!!<br /> dump_log_on_output(e, response.getWriter());<br /><br /> }<br />}</span></blockquote><br /><br />Now, happy hacking...Ashish Chatterjeehttp://www.blogger.com/profile/09631095474055844075noreply@blogger.com0tag:blogger.com,1999:blog-32167313.post-1154681661624875272006-08-04T14:23:00.000+05:302006-08-04T14:24:21.633+05:30Aloha worldIn traditional coding style this is a Hello World post.<br /><br />print("Aloha world")Ashish Chatterjeehttp://www.blogger.com/profile/09631095474055844075noreply@blogger.com0