tag:blogger.com,1999:blog-98398222024-02-08T10:16:52.233-05:00QWERTYThoughts on the things that I think aboutShekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.comBlogger52125tag:blogger.com,1999:blog-9839822.post-34495111573653688112014-07-06T13:44:00.003-04:002014-07-17T13:47:50.763-04:00Building iOS Cocoa Touch Framework using Swift<div dir="ltr" style="text-align: left;"><span style="font-family: Verdana, sans-serif;">With the XCode 6, comes the ability to develop "Cocoa Touch Framework" which is probably (not sure about how the DLL hell translates on to iOS) a better way to package the solution AND is the only way to create libraries in swift. The "Cocoa Touch Static library" AFAIK does not support swift language.</span></div><div dir="ltr" style="text-align: left;"><span style="font-family: Verdana, sans-serif;"><br /> </span> <span style="font-family: Verdana, sans-serif;">So far I have not been able to find anything standard step by step for this which is uses swift. This is just a post to capture my learning on this.</span><br /><span style="font-family: Verdana, sans-serif;"><br /> </span> <span style="font-family: Verdana, sans-serif;">Most of the process should be inline with that identified in <a href="http://www.raywenderlich.com/41377/creating-a-static-library-in-ios-tutorial" target="_blank">good post</a> and detail as <a href="http://stackoverflow.com/a/24295122/172958" target="_blank">answer</a> to stackoverflow question. Some additional points to consider</span><span style="font-family: Verdana, sans-serif;"><br /></span><h3 style="text-align: left;"><span style="font-family: Verdana, sans-serif;">Swift based Frameworks</span></h3><div><span style="font-family: Verdana, sans-serif;">Ensure that you have selected Swift as language while creating new project.</span></div><div><span style="font-family: Verdana, sans-serif;"><br /> </span></div><div><span style="font-family: Verdana, sans-serif;">I have been able to successfully run the framework as part of swift application on iPhone 5s with OS 7.1 which seems to indicate that older deployment targets may be supported. So, feel free to experiment with older target version. Based on the initial test the obvious issue is going to be support for new APIs (one of them being the UIAlertController and UIAlertAction APIs for generating alerts - I could not find any way to support this in swift using older APIs)</span></div><div><span style="font-family: Verdana, sans-serif;"><br /> </span></div><div><span style="font-family: Verdana, sans-serif;">I have not been able to deploy the Archived file (ipa) through itunes (the installation process gets stuck in "Installing" and never completes). Need more research on that front.</span></div><h3 style="text-align: left;"><span style="font-family: Verdana, sans-serif;">Extending NSObject</span></h3><div><span style="font-family: Verdana, sans-serif;">As part of defining the swift implementation the system will create a corresponding <project name>.h file. I was able to define the @interface for my code in objective-c but when I tried to reference the same in Swift code later, I got following error</span></div><blockquote><div class="p1">'<Class Name>' is not constructible with '()'</div></blockquote><div><span style="font-family: Verdana, sans-serif;">This was resolved by extending the @interface with NSObject (<a href="http://stackoverflow.com/a/24186516/172958" target="_blank">Reference</a>)</span><span style="font-family: Verdana, sans-serif;">. Looks like XCode does not do a good job of cleaning cache on "Cleanup" because of which when I tested later with a framework with missing NSObject, the system does not trigger any error.</span></div><div><span style="font-family: Verdana, sans-serif;"><br /> </span></div><div><span style="font-family: Verdana, sans-serif;">By the way, there was no need to implement/extends the NSObject in swift class (given swift does not support root object concept).</span></div><h3 style="text-align: left;"><span style="font-family: Verdana, sans-serif;">Building project</span></h3><div><span style="font-family: Verdana, sans-serif;">As indicated in the various links, you need to additional work to create a universal binary for releasing your framework. The <a href="http://www.raywenderlich.com/41377/creating-a-static-library-in-ios-tutorial" target="_blank">initial link</a> has steps associated with a clean way to lipo the two builds. Based on my experience I have updated the script and that is available here for reference</span></div><blockquote class="tr_bq"><div class="p1"># define output folder environment variable</div><div class="p2">UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal/${PROJECT_NAME}.framework</div><div class="p3"> </div><div class="p1"># Step 1. Build Device and Simulator versions</div><div class="p2">xcodebuild -target ${PROJECT_NAME} ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR=<span class="s1">"${BUILD_DIR}"</span> BUILD_ROOT=<span class="s1">"${BUILD_ROOT}"</span></div><div class="p2">xcodebuild -target ${PROJECT_NAME} -configuration ${CONFIGURATION} -sdk iphonesimulator ARCHS=<span class="s1">"x86_64"</span> ONLY_ACTIVE_ARCH=NO BUILD_DIR=<span class="s1">"${BUILD_DIR}"</span> BUILD_ROOT=<span class="s1">"${BUILD_ROOT}"</span></div><div class="p3"> </div><div class="p1"># make sure the output directory exists</div><div class="p4"><span class="s2">mkdir -p </span>"${UNIVERSAL_OUTPUTFOLDER}"</div><div class="p3"> </div><div class="p1"># copy all the framework files. Just for convenience</div><div class="p4"><span class="s2">cp -R </span>"${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.framework""${BUILD_DIR}/${CONFIGURATION}-universal/"</div><div class="p4"><span class="s2">cp -R </span>"${BUILD_DIR}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework""${BUILD_DIR}/${CONFIGURATION}-universal/"</div><div class="p3"> </div><div class="p1"># Step 2. Create universal binary file using lipo</div><div class="p4"><span class="s2">lipo -create -output </span>"${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}""${BUILD_DIR}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework/${PROJECT_NAME}""${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.framework/${PROJECT_NAME}"</div></blockquote><div><span style="font-family: Verdana, sans-serif;">Besides some basic generalization and framework specific folder structure changes, the following changes have been made</span></div><div><ol style="text-align: left;"><li><span style="font-family: Verdana, sans-serif;"><span style="font-family: Verdana, sans-serif;"><span style="font-family: Times;">ARCHS=</span><span class="s1" style="font-family: Times;">"x86_64"</span><span style="font-family: Times;"> ONLY_ACTIVE_ARCH=NO</span> was added to build process for iphonesimulator to create binary that can be used on 64bit machine. I am not sure why this does not trigger by default in my environment given Mac has been 64 bit for a long time. Please note that if the build was performed using UI then build was automatically 64 bit.</span></span><p>ignoring file <file name>, missing required architecture x86_64 in file</p><div class="p1">Undefined symbols for architecture x86_64:</div></li><li><span style="font-family: Verdana, sans-serif;"><span style="font-family: Verdana, sans-serif;">Copy both simulator and iphoneos files. Looks like the "compiled" swift object files are created for each of the platforms and without them linking will fail.<br /></span></span><div class="p1">Undefined symbols for architecture x86_64:</div></li></ol><h3 style="text-align: left;"><span style="font-family: Verdana, sans-serif;">Importing frameworks</span></h3></div><div><span style="font-family: Verdana, sans-serif;">Basically, I tried Linking frameworks but that did not work because the application at runtime will expect the framework at specific location i.e. </span>~/Library/Developer/ (as defined in build process)<span style="font-family: Verdana, sans-serif;">. So, I Embedded Binaries into the project. This hopefully is also a better way to avoid DLL nightmare. </span></div><div><span style="font-family: Verdana, sans-serif;"><br /> </span></div><div><span style="font-family: Verdana, sans-serif;">By the way I did not have to create any bridging header after importing the framework and so I am not sure whether it is needed.</span></div><div><span style="font-family: Verdana, sans-serif;"><br /> </span></div><div><span style="font-family: Verdana, sans-serif;">Rest of the process was pretty standard. </span></div></div><div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com1tag:blogger.com,1999:blog-9839822.post-62248675231804727732009-02-03T21:45:00.001-05:002009-02-03T21:45:10.653-05:00SUN<div xmlns='http://www.w3.org/1999/xhtml'>SUN is a great company when it comes to technological innovation but has failed to convert it into profits. Most of the people seem to blame their sales and marketing folks. I have seen this first hand in my domain also that for some reason they are unable to sell their products to non-technical folks even though their product is technically better than some of their competitor.<br/>My thought is that they need to be acquired. I think there are two options<br/><ul><li>A technology company with strong sales and marketing that have complementary set of technologies and wants to provide top-to-bottom technology stack. A company like CISCO comes to mind.<br/></li><li>A hosted solution company developing solution platform (currently called cloud platform) which can leaverage the deep hardware and software know how embedded in the firm to develop solutions on the specific stack.</li></ul>Or hopefully SUN will be able to build a better sales and marketing team AND product designers rather than product engineers.<br/></div><div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-77364043691739002482008-12-02T21:19:00.001-05:002008-12-02T21:19:13.164-05:00Jumpstart<div xmlns='http://www.w3.org/1999/xhtml'>How do you jumpstart a blog that has been dead for almost 3 years. But there are times in life when you need to just shrug off and start doing what you want to without thinking for an explanation of past. In that sense, I think, India stands at the same juncture at this time.<br/><br/>Beyond the sadness, anger and frustration I have felt as an ex-mumbaikar (it being one of my favorite cities), Indian and human; it has been painful to see some of my close relatives feeling threatened for themselves and their kids lives. <br/><br/>At this point terrorists have explored various methods to terrorize Indians. They started with large bombs that created significant stir but not enough terror. This was probably because these were few and far in between due to amount of logistics and money involved. They then tried to attack the metropolitan cities with such big bangs but due to the nature of attacks it affected the class of people that did not have the luxury to feel terrified. In past one to two years, there has been significant attempt to develop the strategy of using small low intensity attacks in crowded areas of tier I and II cities. But I think beyond the simple element of surprise, increase in civil vigilance resulting from such an attack could make carrying out such attack significantly tougher going forward. This time (Nov 26th, 2008), it seems, there was an attempt to attack the strata of society that has felt somewhat safer so far. Even though attack tried to cover the entire cross-section of the society in Mumbai, due to the way it played out, coverage in media has become somewhat limited to the various hotels that were under seige.<br/><br/>Some of this reminds me of the way things took to worst in 80s between separatists in Punjab and India. The capital of New Delhi was converted into a big battleground with small intensity blasts in public places. I still remember public service ads telling people to stay away from unclaimed/stray goods. This whole thing reached a turning point when the PM Indira Gandhi was gunned down by her own security guards. This incident put the Indian govt on offensive like never before and resulted in significant clampdown on the separatists.<br/><br/>I sincerely hope that our government and we as citizens treat the Mumbai attack at that level and make a significant attempt to raise the bar before the next set of attacks. I am sure in next few days the media will be filled with concerned people who would be sharing thoughts and ideas on how to make things better. But the real challenge, as always, will be to go to next level and attempt to continue to convert the thoughts and ideas into actions. In that sense, this act of terrorism seems to have happened at a time when the govt is under significant pressure due to the elections. In addition to that, there seems to have been an attempt by the influential people (with the help from media) in various verticals to push for reforms at various levels to ensure that such a thing does not happen going forward.<br/><br/>Only the time will tell whether this day would be just another day in the the list of days on which terrorists won or a day on which India resolved to never let others take the Indian concept of "chalta hai" attitude for granted.<br/><br/></div><div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com1tag:blogger.com,1999:blog-9839822.post-1136910943374961342006-01-10T10:16:00.000-05:002006-01-10T11:35:43.423-05:00x86 Virtualization: Keep movingThe virtualization process on the x86 platform has really taken off in the market. The best part is that this process has taken place in both directions.<BR>
The hardware virtualization process has been moving at a fast pace (especially in development environment, production environment seems to be a different story or may be I do not know the story) with availability of both vendor products like VMWare ESX, Microsoft Virtual Server and opensource products like Xen 3.0 (on Intel IVT and AMD's Pacifica chips - still looking for a big yes from the community on whether it works). I guess when something like this becomes an important part of the development environment for a small company like mine, I think it really has moved far along.<BR>
At the same time, the virtualization has been developing from top to bottom starting with language (like Java and .NET). This means that at the moment we have two virtualization environment i.e. at the top and at the bottom with Operating System in the middle.<BR>
Isn't it time to start the virtualization process for the OS itself? The product like Azul seems to have taken some steps toward that but being language dependent and properitory designs, they do not fit the bill of OS virtualization. Is this time to really start thinking about completely moving away from the monolithic kernels like Microsoft Windows and Linux and start adopting the Micro-kernel architecture (or that version of existing OS) so that people can pick and choose the components to build the environment such that if you are running servers, you can remove all the User Interface components from the operating system without the need of recompiling the kernel of the Operating System. This way you can pick and choose the components that you need to build the OS environment and hence different components for each of the part of the OS so that systems can leaverage built-in features of chips to make a smaller memory and storage footprint and more efficient systems.<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1133440520241140432005-12-01T07:35:00.000-05:002005-12-01T07:35:20.240-05:00Protegrity: Database EncryptionNeed to get more information about what is really going on and how this technology can help in data privacy initiatives.<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1133440336681587082005-12-01T07:32:00.000-05:002005-12-01T07:32:16.730-05:00Application Dependency Scanner<a href='http://www.alphaworks.ibm.com/tech/aus?open&S_TACT=105AGX59&S_CMP=GR&ca=dgr-jw22awaus'>May </a> be worth something to look at for basic applications. But, my basic problem still remaind dynamic dependencies added due to configurable class names, etc. So it probably may not help. <a href='http://www.hammurapi.biz/hammurapi-biz/ef/xmenu/home.html'>Another </a> thing to look at!!
<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1133384448557548302005-11-30T16:00:00.000-05:002005-11-30T16:00:48.596-05:00A Recipe for Newspaper Survival in the Internet AgeLessons
<ol><li>Some of the readers know more about the subject, so allow them to contribute
</li><li>Others know less about the subject or may have personal agenda. Let "community" handle them via "moderating system" (I think editors also must play a big role in the moderation till the community is not big enough to be self-regulating)
</li><li>Malicious, obscene content should not be reason for not opening up to readers. Let moderation or editor take care.
</li><li>reader vs advertiser - well if reader make the medium trustworthy, in long run you will have more revenue. besides that allow advertisers to reply to the things.
</li><li>Go "Local" and advertise local
</li><li>Think internet as mainstream medium to grow since all others are being reduced.
</li></ol><div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1132275469443798012005-11-17T19:57:00.000-05:002005-11-17T19:57:49.456-05:00Java XML TechJDOM<BR>
- http://www.jdom.org/<BR>
<BR>
DOM4J<BR> (Better)
- http://www.dom4j.org/<BR>
<BR>
STAX<BR>
- http://dev2dev.bea.com/xml/stax.html<BR>
<BR>
JAXB<BR>
- http://java.sun.com/webservices/jaxb/<BR>
- https://jaxb.dev.java.net/<BR>
<BR>
Castor<BR>
- http://www.castor.org/
XStream<BR>
- http://xstream.codehaus.org/
Jaxen<BR>
- http://jaxen.org/<BR>
Nux<BR>
- http://dsd.lbl.gov<BR>
<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com1tag:blogger.com,1999:blog-9839822.post-1132274189483954702005-11-17T19:36:00.000-05:002005-11-17T19:36:29.523-05:00James Strachan: Is Ajax gonna kill the web frameworks?Good Discussion!! The major points seems to be
<ul><li>When Client needs to receive remote events (obviously not by polling since that adds burden on server)
</li><li>A very complex "windowing" GUI with a lot of local event generation, validation, etc which can be too much for javascript which is an interpreted (thus slower) language. - My interpretation
</li><li>If the processing rely too much on the business state/session which contains sensitive data (hence needs to be stored some where safe) and in world of SOA there is no place to save them!! - My interpretation
</li><li>Too much pain w.r.t. browser incompatibility and immature frameworks and tool support
</li><li>In-house applications do not need them since the customer is on uniform platform.
</li><li>Debuggin Javascript on browser is terrible - But faster since no compile step and also firefox has good tools(I think)
<ul><li>JSEclipse - Not good Enough
</li>
<BR>Thoughts!! <BR>
Browser synched with the latest version of java.<BR>
Standard Browser APIs for accessing Web Page DOM + Object Model<BR>
Swing Platform and layout manager compatible with HTML<BR>
That's JavaStart??<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1132006182702342862005-11-14T17:09:00.000-05:002005-11-14T17:09:42.726-05:00Cisco Moves Linksys into Small Business MarketWow!! $62 per user! that seems way too high. What's with these service companies and their love with "per user" price. Why can't they service on "per channel" or "per connection" basis along with very basic fees for maintainance. This would make much sense for those companies that would like to give service access to all their employees but all their employees would not be using the system at the same time.<BR>
This model basically seems applicable to all the network based service where all the people would not be accessing the service all the time.<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1131713481896383102005-11-11T07:51:00.000-05:002005-11-11T07:51:21.903-05:00Trails: .8 ReleasedI am not sure whether this is better than the <a href='http://qwerty-shekharjha.blogspot.com/2005/10/rifecrud-10-crud-scaffolding-for-rife.html'>earlier </a> products that I looked at.<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1131121164824210942005-11-04T11:19:00.000-05:002005-11-04T11:19:24.876-05:00The Evolving CIO's Technologies<ul><li>"SOA" - anyhow, anywhere, anytime
</li><li>Document Management
</li><li>BPM/Workflow
</li><li>Virtualization of OS, Storage & VPN, Wireless Network
</li><li>Application streaming(??)
</li><li>Opensource desktop
</li><li>Grid
</li></ul><div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1131030005800593562005-11-03T10:00:00.000-05:002005-11-03T10:00:05.850-05:00AJAX Framework ComparisionGood Selection!! Need to revisit<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1131022862114431452005-11-03T08:01:00.000-05:002005-11-03T08:01:02.600-05:00WSSE 3.0WSSE implements WS-* which is standard for interoperability.
Digital signature, Authentication/User Token,
WSE 3.0 does - <BR>
Security easier, integration with WCF, <BR>
---------||------||-------->
Client Server
<--------||------||---------
6 Turnkey scenarios scenarios
1.
<pre>
send encrypted message
send encrypted large key
---------||------||-------->
Client Server
(Public Certificate) (private key)
large key
<--------||------||---------
send user/password encrypted with large key
</pre>
Use policy file to get it done
<BR>
WCF - Shipped with Vista. WSSE 3.0 wire level interoperability with WCF.
<pre>
-----------------------------------------
|Secure|Reliable (new)| Tx | |
-------------------------------
|Soap (Message) | WSDL |
------------------------------------------
| XML/XSD (data) |
------------------------------------------
| http (transport) | TCP |Custom(UDP) |
------------------------------------------
</pre>
With 3.0, the ASMX besides the basic services can be hosted as a service along with websire<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1130994475927620162005-11-03T00:07:00.000-05:002005-11-03T00:07:55.966-05:00Bob Lee: Generating sequence diagrams with aspectsIndead a very good use of the concept of aspecting. I have not been able to understand the use of aspecting in the development and product code. Even the much touted logging usage does not make sense since it does not capture the business event for which you have to write specific event information through logging API directly.<BR>
But it seems the Aspect has found a good use in the debugging and understanding the applications' features.<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1130970862466903102005-11-02T17:34:00.000-05:002005-11-02T17:34:22.493-05:00OctetString Engineer Says ‘Caching is Evil’Ran into this <a href='http://www.messagingnews.com/jeff/2005/11/02/octetstring-engineer-says-caching-is-evil/'>comment</a> which took me to above article. Besides the basic marketing stuff, the thought/comment did go into the core issue of why cache.<BR>
The idea of cache and cache management arises from the basic tussle between performance and data freshness. If you need better performance you will go with cache (well designed to have good cache hit and low cache miss) while if freshness is important cache may not be your cup of tea (unless designed so that updates flow into cache from datasource).<BR>
With regards to that, the cache has its place in identity management for data that for which the cache expiry or update speed is much higher than rate of data staleness (like first name, last name, email id, contact information) while it would be not so good viseversa or if freshness of data overrides performance requirements.<BR><div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1130854369852735192005-11-01T09:12:00.000-05:002005-11-01T09:12:49.856-05:00Airlines Trying To Cut Out The Middlemen... AgainIs the middleman finally going out of business especially if these service provider use eBay or google base to publish their data.<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1130853413205550272005-11-01T08:56:00.000-05:002005-11-01T08:56:53.230-05:00Oracle Hands Developers a Free, Open-Source DatabaseI did not see any thing about open-sourcing the database.<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1130639893138714872005-10-29T22:38:00.000-04:002005-10-29T22:38:13.180-04:00RIFE/Crud 1.0: CRUD scaffolding for RIFE released<a href="http://feeds.feedburner.com/techtarget/tsscom/home?m=228">Two</a> promising technologies in two days and both do not seems to be going the way i think this development process should move. This process comes closer to my idea of how ultimately the request processing is a workflow which uses component to get the work done. This idea comes quite well in this technology. My issue is with reinventing the wheel. I would have really like the product to use a workflow definition language for achieving the request flow and data flow. On an initial review it looks like it borrowed the idea from the BEA/Apache Beehive (did i get it right?). But I would really have loved the idea of extracting database schema or from entity relationship diagram and generate objects or vice-versa automatically and drawing the request and data flow using GUI instead of editing xml and in a workflow language instead of developing your own.<BR>
The meta-data about data constraints is fine but that can not be extended to Web interface. Now what needs to be displayed as editable or non-editable and sorting decisions are not a business logic decision (as it can be an authorization decision) and thus should not live with the bean definition. It is a interface decision and should be part of that!! This is where even I am stuck w.r.t. to how to tie the workflow to interface. What is the answer? But that is a separate topic...<BR>
The technology does look promising and can work as inspiration for other technologies...
<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1130635424775514872005-10-29T21:23:00.000-04:002005-10-29T21:23:44.820-04:00How Many Times Should We Pay For Our Software?<a href="http://rss.slashdot.org/Slashdot/slashdot?m=1510">Article</a> just tells me that the market is maturing w.r.t. vendors getting ready. I have thought that PC is most likely a temporary path to go tho next step where people will move from accessing content using personal medium through a shared medium (similar to the way cable system evolved). With regards to this at this point the market needs to figure out the model. I think the mediums would be hosting the software and people may be ready to pay monthly rent for the service. Now the medium could be cable, phone/optical fiber or utility provider (may be electricity or who knows the water utility).<BR>
Lets leave it at that and let the market figure it out!!
<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1130632257238953242005-10-29T20:30:00.000-04:002005-10-29T20:30:57.360-04:00Google And IBM Team Up Search TechnologyInteresting development!! I have always liked the idea of using google desktop search as a corporate knowledge management tool once some facility has been built to securely control and access the agents running on the individual desktop. I have had some thoughts on doing this for my own company but never got time around to do that.<BR>
Besides that I guess it is great way to capture the two ends of the information i.e. databases and desktops. I am not sure whether google search appliance could not look into these database and hence google has to depend on IBM for this type of data. Another thing which brings to life is the issues people had with desktop search at the start i.e. it brought out unwanted things from the system. Guess this goes to the idea of privacy and data access control i.e. what is searchable and what's not.<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1130556142271271072005-10-28T23:22:00.000-04:002005-10-28T23:22:23.556-04:00Paranoid Penguin - Single Sign-on and the Corporate Directory, Part INow that was the quickest way to build the infrastructure and the consultants are just sucking the money for doing nothing :)<BR>
Guys lets not build something, attach "identity management" to it and tell the world we have solved the issue in 1 section. This article may be good for a small university or a Small business. Anything more than that the SSO and "identity management" is very huge project which may run from 4 months to 3yrs and needs a lot of things.<BR><div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com1tag:blogger.com,1999:blog-9839822.post-1130552505672782412005-10-28T22:21:00.000-04:002005-10-28T22:21:45.673-04:00Microsoft's Vigilante Investigation of ZombiesThis brings back the whole idea of
> if you leave door of your house unlocked and some body comes in, looks around and leaves is it punishable
> if you leave door of your house unlocked and some body comes in and drinks water from your tap (is that a good analogy for wireless access point for basic web surfing) and leaves is it punishable
> if you leave door of your house unlocked intentionally and some body comes and are caught is it punishable.
<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1130552004348399502005-10-28T22:13:00.000-04:002005-10-28T22:13:24.396-04:00Attention podcastersThe idea of annotating pictures is not new but doing that with video and audio!! May be that is how the next generation search engines would be able to make sense out of these type of contents till we figure out a way to dicipher an arbitirary piece of audio and video.<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com0tag:blogger.com,1999:blog-9839822.post-1130539465545446422005-10-28T18:44:00.000-04:002005-10-28T18:44:25.553-04:00Artificial Scarcity, Garbage Collection and the Long TailGreat Article!!<div class="blogger-post-footer"><BR>
<b>Notice:</b>All content on this website (including text, photographs, audio files, and any other original works), unless otherwise noted, is licensed under a <a href='http://creativecommons.org/licenses/by/2.0/'>Creative Commons License</a>.</div>Shekhar Jhahttp://www.blogger.com/profile/05453234049432746378noreply@blogger.com1