<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4573187404728024006</id><updated>2011-12-21T02:28:22.939-05:00</updated><category term='chrome windows7 IE8'/><category term='zendesk support salesforce'/><title type='text'>My Startup Life</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-8713521536174156387</id><published>2011-12-21T02:28:00.002-05:00</published><updated>2011-12-21T02:28:22.949-05:00</updated><title type='text'>Working hard on social networks</title><content type='html'>&lt;div class="MsoNormal"&gt;The amount of hard work I have to do each time I want to publish a statement on my startup is practically insane. Just see:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;!--[if !supportLists]--&gt;1.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;First of all, I create the marketing message, with a URL, making sure it has the right length for Twitter&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;!--[if !supportLists]--&gt;2.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Then, I need to publish it:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.0in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;!--[if !supportLists]--&gt;a.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Publish content on our WordPress site&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.5in; mso-add-space: auto; mso-list: l0 level3 lfo1; mso-text-indent-alt: -9.0pt; text-indent: -1.5in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;And make sure all SEO related tasks are performed&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.0in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;!--[if !supportLists]--&gt;b.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Company twitter account&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.5in; mso-add-space: auto; mso-list: l0 level3 lfo1; mso-text-indent-alt: -9.0pt; text-indent: -1.5in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;And then retweet by my personal account&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 2.0in; mso-add-space: auto; mso-list: l0 level4 lfo1; text-indent: -.25in;"&gt;&lt;!--[if !supportLists]--&gt;1.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Which goes to update my personal Facebook and Linkedin profiles&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.5in; mso-add-space: auto; mso-list: l0 level3 lfo1; mso-text-indent-alt: -9.0pt; text-indent: -1.5in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ii.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;My personal Google+ is not in this game just yet, so I have to update it manually&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.0in; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;!--[if !supportLists]--&gt;c.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Post it in:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.5in; mso-add-space: auto; mso-list: l0 level3 lfo1; mso-text-indent-alt: -9.0pt; text-indent: -1.5in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Company Facebook page&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.5in; mso-add-space: auto; mso-list: l0 level3 lfo1; mso-text-indent-alt: -9.0pt; text-indent: -1.5in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ii.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Technical Facebook pages we maintain&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="margin-left: 1.5in; mso-add-space: auto; mso-list: l0 level3 lfo1; mso-text-indent-alt: -9.0pt; text-indent: -1.5in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;iii.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Linkedin groups we’re connected to&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I couldn’t find a tool that automates this in an easy enough way. Turns out I waste about half an hour to an hour each time I want to send a marketing message. Crap – this sucks!&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-8713521536174156387?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/8713521536174156387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2011/12/working-hard-on-social-networks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/8713521536174156387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/8713521536174156387'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2011/12/working-hard-on-social-networks.html' title='Working hard on social networks'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-2812096210233920639</id><published>2011-12-05T11:34:00.000-05:00</published><updated>2011-12-05T11:34:08.384-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zendesk support salesforce'/><title type='text'>Revisiting ZenDesk</title><content type='html'>&lt;div class="MsoNormal"&gt;Well, I had a chat with the ZenDesk team about a week ago (and was just too damn busy to blog – sorry about that). And it turns out I was mistaken, partly because a ticket I opened with the ZenDesk team was not clear enough.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;It turns out that we can have a better process with ZenDesk than with SalesForce Support – the minute a user registers with ScaleBase, a trigger is activated in SalesForce, which can call ZenDesk API (see more documentation &lt;a href="http://www.zendesk.com/support/api/"&gt;here&lt;/a&gt;), create a user for our customer – and send the customer an automatic email. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Since this task is manual in SalesForce – ZenDesk wins by far.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Currently we don’t have the time to switch support environments, but ZenDesk is great, high on our list of tasks – and we’ll probably return to use their environment in a few month.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-2812096210233920639?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/2812096210233920639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2011/12/revisiting-zendesk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/2812096210233920639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/2812096210233920639'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2011/12/revisiting-zendesk.html' title='Revisiting ZenDesk'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-665916274515531625</id><published>2011-11-07T06:46:00.002-05:00</published><updated>2011-11-07T06:46:59.971-05:00</updated><title type='text'>Do we need to talk?</title><content type='html'>&lt;div class="MsoNormal"&gt;I keep reading blogs and articles about how social media can destroy enterprises. Well, to be truthful – I don’t work in an enterprise. Did, twice – but I didn’t like it so much (but learned a great deal, and loved the people I worked with). &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;But at my current title - I really need to know if you’re writing about my startup. But not just about it – about anything that might be relevant. For instance – if you’re writing a blog on MySQL scalability – I probably want to talk to you.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I’ve used this blog to bitch about the tools I’ve used. But this, by far, is the biggest challenge I have. I wasn’t happy with any PR agency auto responder. Doing it myself is better, but timezone differences and out-of-internet access zones (United – will you please have internet on planes already?) make this undependable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;But first thing first. To track what people are writing about my company and the topics we care about I use Google Alerts and Twitter Search (my current tool of choice is MetroTwit – whose main value is that isn’t developed in Adobe AIR, so it doesn’t kill my windows machine). &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Google alerts let me configure auto running search terms, and get the new results to my email box. So far, it has proven very effective, and usually I’m the first to comment on blogs that interest me. It offers multiple level of configuration, but I rather get some results twice, and not wait till the end of the day to get interesting links.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;I use twitter for the same result. Twitter searches are very useful, and people are sharing allot of data in their twitter feeds. So when anyone writes about my company – I make sure to retweet him, and follow him, from both my personal account and from the company account. When someone writes about a relevant topic – I follow him from both accounts, and answer his tweet. I try not to be pushy, because I feel it’s rude to talk to someone I don’t know – but hey, it’s my company, and my kids future ;-)&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;So I’ve built a nice system, but it takes huge amounts of time, and it is not scalable. I’m still researching for new tools and service providers that can help me. If you have any idea/experience – please share in the comments section.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-665916274515531625?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/665916274515531625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2011/11/do-we-need-to-talk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/665916274515531625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/665916274515531625'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2011/11/do-we-need-to-talk.html' title='Do we need to talk?'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-5221488076767080626</id><published>2011-10-31T22:19:00.004-04:00</published><updated>2011-10-31T22:23:38.911-04:00</updated><title type='text'>ZenDesk vs. SalesForce</title><content type='html'>Once we were ready to go GA, we needed an online tool for our support. In this post I’ll cover how we decided on our support tool.&lt;br /&gt;We had quite an extensive set of requirements, and started out with ZenDesk as our tool of choice. We were extremely happy with it, and were very unhappy with SalesForce Support options, which were both expensive and limited (a great business model). &lt;br /&gt;&lt;br /&gt;So how did I end up using SalesForce support? &lt;br /&gt;Well, it’s a long story, but for short – we decided that features are not as important as ease of integration – and although ZenDesk offers good integration with SalesForce, SalesForce support is even better integrated. It all came down to a small little feature – but I’m getting ahead of myself.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 19px; font-weight: bold;"&gt;Requirements list&lt;/span&gt;&lt;br /&gt;As I said – we had a very extensive requirements list from our support tool. I wanted most of our support to happen online, since it’s easier to manage, and easier to keep history of what our customers are doing. These are just the leading items I had in the requirement list:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Communication&lt;br /&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Customers can open support tickets by sending emails to a pre-defined address&lt;/li&gt;&lt;li&gt;Customers can open support tickets online&lt;/li&gt;&lt;li&gt;Support team can open tickets on behalf of customers&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Notifications&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Our management can get notifications whenever support tickets are opened closed, or any sort of communication occurs.&lt;/li&gt;&lt;li&gt;Customers get email notifications when changes to their tickets occur&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Publishing&lt;/li&gt;&lt;ol&gt;&lt;li&gt;It’s possible to make tickets global, for all to see&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Security&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Customer will have username and password access to the support portal&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Integration&lt;/li&gt;&lt;ol&gt;&lt;li&gt;It must be possible to see in a contact or account view in SalesForce the tickets this customer opened&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;br /&gt;&lt;h3&gt;Evaluation&lt;/h3&gt;I feel comfortable saying ZenDesk is better at points 1-3. SalesForce made me write rules so that management gets a notification when our support staff answers a ticket. Making tickets global is very limited, and what’s worst is the limited customization options of the SalesForce support portal (yeah – they have a more customizable portal, which cost by named users, an impossible pricing model for us).   ZenDesk and SalesForce are at the same level for point 4.  Point 5 proved fatal for ZenDesk. I just couldn’t implement it. When a customer creates a ZenDesk user, it is impossible to map that user to the customer in SalesForce. If the account name and company name are not the same in those two tools – and the integration just doesn’t work. &lt;br /&gt;&lt;h3&gt;Bottom line&lt;/h3&gt;For me – point #5 was a blocking feature, and I had to settle for a much more limited SalesForce support. Now, SalesForce is so limited, I can’t even automatically create a support user for a customer – something that is just painful. Still – I can get a 360 degree customer view – and I was willing to give up any functional requirement for this integration. &lt;br /&gt;But I’m checking ZenDesk periodically. They offer a great solution and I’d love moving the minute this tiny integration point is solved…&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-5221488076767080626?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/5221488076767080626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2011/10/zendesk-vs-salesforce.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/5221488076767080626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/5221488076767080626'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2011/10/zendesk-vs-salesforce.html' title='ZenDesk vs. SalesForce'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-3976398184549299364</id><published>2011-10-10T12:54:00.002-04:00</published><updated>2011-10-10T12:54:35.340-04:00</updated><title type='text'>My SalesForce Experience</title><content type='html'>&lt;h1&gt;My SalesForce Experience&lt;o:p&gt;&lt;/o:p&gt;&lt;/h1&gt;&lt;div class="MsoNormal"&gt;In my previous post I wrote about the customization efforts of integrating our different marketing and sales tools. In this post I’ll detail some of the customization I’ve implemented in SalesForce.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;h2&gt;Sales Dashboard&lt;o:p&gt;&lt;/o:p&gt;&lt;/h2&gt;&lt;div class="MsoNormal"&gt;I don’t like the default opportunity report view of SalesForce. It requires too many clicks to enter into and doesn’t support in place editing. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;So, I’ve developed a sales dashboard that makes viewing our most important opportunities a snap – and can be found at the home page of our sales guys. In the process I’ve added about 20 custom fields to each opportunity, trying to cover the following topics:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;&lt;span&gt;1.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Dates of all steps in our sales process – like POC date, closing date, production date, etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;&lt;span&gt;2.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Feature management – which missing features the customer needs (if any). In the future I plan to connect this to our feature management tools.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;&lt;span&gt;3.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Fields for all relevant opportunity data (for us – number of databases, type of database, etc)&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;&lt;span&gt;4.&lt;span style="font: 7.0pt &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir="LTR"&gt;&lt;/span&gt;Pricing. Although SalesForce has a product feature, which allows mapping products from the product map to opportunities, it just requires too many steps to implement. Instead we just made sure the product list associated with the opportunity is empty so the amount field can be updated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;This dashboard is used by our Sales Reps to view their opportunities, and is sorted according to the stage of the opportunity in the process.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;h2&gt;Auto Conversion&lt;o:p&gt;&lt;/o:p&gt;&lt;/h2&gt;&lt;div class="MsoNormal"&gt;When visitors register at our site LoopFuse automatically creates a lead in SalesForce. This is not enough in our scenario. Why? Because those who register need to gain access to our support portal, and SalesForce only enables Self Service Support for Contacts, not Leads. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Now, LoopFuse allows for creating Contacts in SalesForce instead of leads, but no opportunity is created.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;So we have created a trigger that is activated whenever a lead is created. Not wanting to convert all leads, we use the campaign field to mark which leads come from LoopFuse – and which are generated manually.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;We have made some other tweaks to SalesForce, but those were the major ones. I guess we’ll have more soon – I’ll update new developments on this blog.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-3976398184549299364?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/3976398184549299364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2011/10/my-salesforce-experience.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/3976398184549299364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/3976398184549299364'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2011/10/my-salesforce-experience.html' title='My SalesForce Experience'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-1285132596352982788</id><published>2011-10-03T13:52:00.002-04:00</published><updated>2011-10-03T13:52:42.893-04:00</updated><title type='text'>Marketing Automation</title><content type='html'>&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;I’ve invested huge amounts of my time in the last few months in automating our sales and marketing processes. Basically, at my startup, we let you download an evaluation version of our product and try it out for 30 days. We use SalesForce for CRM, LoopFuse for marketing automation, Wufoo for our forms, Woopra for online site analytics and Google Analytics for history site analytics (when we launched Google Analytics couldn’t be used to real time analytics. It changed now – but I really like Woopra).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;I’ll talk about the processes in future posts, but for now, the most important criteria for us was integration between the product. For example, we love ZenDesk as a support portal, but ended up using SalesForce for support, although it’s a much more limited. ZenDesk SalesForce integration didn’t let us create users when new SalesForce contacts were created – a major limitation in our automated process.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;So, the process goes as follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Someone visits site and is tracked by LoopFuse, Woopra and Google Analytics. Each is used for a different task. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;When the visitor fills out a form, he fills it on our site using a Wufoo integrated form. Integrating Wufoo and WordPress is very easy. Integration with LoopFuse is OK, I encountered a major bug in capturing details from Wufoo to LoopFuse, but that was fixed since. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Since I don’t really trust integration, our entire sales team gets an email from both Wufoo and LoopFuse when a new registration occurs. This way we can make sure that the registration run through the entire process.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Once the form is submitted details are sent to LoopFuse, which automatically sends this data to SalesForce as a lead. I found no problems in this integration.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Custom code in SalesForce converts the lead to an opportunity, and, for quality control, sends an email to the entire sales team, with a special email sent to the sales rep who is responsible for the opportunity.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;At this point the user receives a confirmation mail, and an additional email, sent automatically from SalesForce, containing the support portal credentials. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;It was an incredibly difficult to implement this integration, and I’ll dive into each tool we use and how we use it in the following posts. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Feel free to ask questions about this topic in the remarks section, or just sent me a LinkedIn invite and I’ll be happy to chat.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-1285132596352982788?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/1285132596352982788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2011/10/marketing-automation.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/1285132596352982788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/1285132596352982788'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2011/10/marketing-automation.html' title='Marketing Automation'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-294625480862162947</id><published>2011-08-11T10:48:00.000-04:00</published><updated>2011-08-11T10:51:32.326-04:00</updated><title type='text'>New life</title><content type='html'>Wow, it has been almost 18 month since my last post - and I guess my life just turned upside down. From being THE technical guy in the room, I'm now taking a more BizDev and SE angle. But - I still like to blog (not just on the ScaleBase blog), so I'll get back to my old blogging habits here.&lt;div&gt;Basically, I'd like to write about the work I'm doing at ScaleBase. We've worked very hard on our product, but also on the eco-system to support it - which was my responsibility. So SalesForce, LoopFuse, ZenDesk, WordPress and, of course, PowerPoint, were heavily used. I'll try to write about these experiences, why we decided on a certain path and how we ended up implementing it.&lt;/div&gt;&lt;div&gt;I hope it will be worth a read.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-294625480862162947?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/294625480862162947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2011/08/new-life.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/294625480862162947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/294625480862162947'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2011/08/new-life.html' title='New life'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-498559693038659566</id><published>2010-03-04T15:20:00.000-05:00</published><updated>2010-03-04T15:25:51.924-05:00</updated><title type='text'>Configuration based ESB</title><content type='html'>I think that anyone who read my previous posts can see that I work allot with ESBs - the blog posts were mostly dedicated to IBM, but I work with OSB, JBossESB and some other solutions as well.&lt;div&gt;I am amazed at just how much work customers invest in ESB development - they build an architecture, build a development team - and usually, 99% of the work they do - is the same across all organizations.&lt;/div&gt;&lt;div&gt;Because everybody are using ESB in the same way - to enforce web services policies - usually security, but also validation, version management, monitoring and a bit more.&lt;/div&gt;&lt;div&gt;So - what do all these off-the-shelf products give us? Not enough.&lt;/div&gt;&lt;div&gt;I believe that a new generation of ESB is in order - one that will not require coding. The ESB should contain a single point of entry for all services in the organization, all will follow a configured validation and enrichment path, and at the end will be directed to the actual service. No coding, no development team - just simple configuration. Should definitely suffice most customers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have a few ideas on an architecture of such a thing, and Aluna even has a small product based on open source technologies, that runs with both .net and Java clients. &lt;/div&gt;&lt;div&gt;But that is another story.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-498559693038659566?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/498559693038659566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2010/03/configuration-based-esb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/498559693038659566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/498559693038659566'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2010/03/configuration-based-esb.html' title='Configuration based ESB'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-7372046963965801579</id><published>2010-01-31T13:22:00.000-05:00</published><updated>2010-01-31T13:26:16.266-05:00</updated><title type='text'>WebServices Reliable Messaging</title><content type='html'>A customer of mine asked me to build a POC of using WS-RM with CXF, C# and Oracle Service Bus. Against my better judgement - I said yes. I know it doesn't work - but I'm always up to the challenge. &lt;div&gt;Turns out documentation is shitty at best. Vendors provide a one-page demo, using messaging infra or embedded HTTP servers - no web containers or web servers. &lt;/div&gt;&lt;div&gt;So - I have decided to start with .net and CXF and leave the OSB for later. &lt;/div&gt;&lt;div&gt;The pain is installing VS2010 Beta 2 over my machine which had VS2010 Beta 1 - a version that was deleted a couple of month ago.&lt;/div&gt;&lt;div&gt;You can't install VS2010B2 on a B1 computer - you must do a reinstall of B1, then uninstall it, then install B2. &lt;/div&gt;&lt;div&gt;Bloody nightmare.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-7372046963965801579?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/7372046963965801579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2010/01/webservices-reliable-messaging.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/7372046963965801579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/7372046963965801579'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2010/01/webservices-reliable-messaging.html' title='WebServices Reliable Messaging'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-3477407961119687539</id><published>2010-01-03T11:15:00.000-05:00</published><updated>2010-01-03T12:39:57.856-05:00</updated><title type='text'>WebSphere 7 - deployment performance</title><content type='html'>Well, I'm currently running a migration project from Oracle's OC4J to WebSphere 7. Why 7? Because the customer wants to use JSF 1.2, and EJB 3 - and we decided on going to WAS7 instead of WAS6.1 with the fix packs.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The migration wasn't so smooth - the customer used some proprietary code we had to change. And let me tell you - configuring TopLink to run on WAS is a real pain, especially when some TopLink code is accessed through EJBs and some through regular Java classes from the web tier.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But the real problem was WAS7 deployment. It took forever... We tried running it from RAD7.5 or from the admin console directly - it was painful. It took around 5 minutes, and every configuration action that required application restart took ages to complete.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Turns out the problem lies in the JavaEE5 spec. When you deploy an EAR it needs to look for annotated classes that are marked as EJB and servlets. So deploying a WAR file with a large number of classes and JAR files will be very slow.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are deployment separation solutions (putting the classes in the app-inf/lib of the EAR instead of web-inf/lib of the WAR) but a quick fix, that fits when you don't use annotated servlets is to add the metadata-complete attribute to your web.xml file (in the web-app tag). It tells the deployer that all of your servlets and filters are configured inside the web.xml file.&lt;/div&gt;&lt;div&gt;See this link for the complete web_app_2_5 XSD description. &lt;a href="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"&gt;http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-3477407961119687539?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/3477407961119687539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2010/01/websphere-7-deployment-performance.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/3477407961119687539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/3477407961119687539'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2010/01/websphere-7-deployment-performance.html' title='WebSphere 7 - deployment performance'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-2661682544243301790</id><published>2010-01-01T03:01:00.000-05:00</published><updated>2010-01-01T03:07:47.770-05:00</updated><title type='text'>WebSphere 7 book by Packtub</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span"    style="font-family:'Lucida Grande', sans-serif;font-size:130%;color:#333333;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 16px;"&gt;&lt;span class="Apple-style-span"    style="font-family:Georgia, serif;font-size:130%;color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-size: 16px; line-height: normal;"&gt;Well, I was asked by Packtub to review their new book on WebSphere Application Server 7. It was 3 month ago, but I finally got around to it.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"    style="font-family:'Lucida Grande', sans-serif;font-size:130%;color:#333333;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 16px;"&gt;&lt;span class="Apple-style-span"    style="font-family:Georgia, serif;font-size:130%;color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-size: 16px; line-height: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;The book starts kinds of slow - downloading WinSCP and Putty, installation on Linux. Not sure this is the most common developer scenario. &lt;/div&gt;&lt;div&gt;And I'm not sure I would learn WebSphere App Server for the first time from a book...&lt;/div&gt;&lt;div&gt;But then the book starts to kick off - Chapter 3 talks about Security. Insane - considering the fact that 90% of the WebSphere administrators I know don't know how to configure security. And they go into detail - configuring LDAP and stuff.&lt;/div&gt;&lt;div&gt;Then they go on on Tracing, Performance - what everybody should know - and they explain it in a step-by-step manner.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So from my side - I think it's a good book. Especially since so few people really understand how to work with WebSphere App Server.&lt;/div&gt;&lt;div&gt;On the down side - there is no Web Services chapter. With the new Web Service pack (available in WAS 6.1 and builtin in WAS 7) it's impossible to configure web services in WAS, and it's a shame the book didn't cover this complex topic (especially web services security).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-2661682544243301790?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/2661682544243301790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2010/01/websphere-7-book-by-packtub.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/2661682544243301790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/2661682544243301790'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2010/01/websphere-7-book-by-packtub.html' title='WebSphere 7 book by Packtub'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-6524199386271814628</id><published>2009-12-23T14:44:00.000-05:00</published><updated>2009-12-23T14:49:20.369-05:00</updated><title type='text'>C# String GetHashCode()</title><content type='html'>It is very difficult to Java developers to write C# code. Not because of the language - they are pretty much the same. But it turns out you make basic assumptions which are just not true.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We develop C# code that access services deployed in WebSphere ESB and send messages in WebSphereMQ. The sender creates a message identifier, that consists of the sender id, object type and more. The listener creates the same identifier, and listens to the queue with this identifier.&lt;/div&gt;&lt;div&gt;Suddenly - the identifier the listener and the sender create is different.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Turns out that the problem lies in the fact that the sender is a 32bit machine, and the listener runs on a 64bit machine. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Why is that a problem? Because in .net, code is not cross platform - not even between Windows environments - since the GetHashCode() function of String is not cross platform - and works differently on 32bit and 64bit machines.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Unbelievable!!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, we wrote our own Hash function, that simply copies the java.lang.String hash() function (every JDK comes with src.zip, where you can find the java.lang.String code).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3 hours of my life wasted...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-6524199386271814628?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/6524199386271814628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/12/c-string-gethashcode.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/6524199386271814628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/6524199386271814628'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/12/c-string-gethashcode.html' title='C# String GetHashCode()'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-4059600168665048832</id><published>2009-12-03T04:53:00.001-05:00</published><updated>2009-12-03T05:01:11.212-05:00</updated><title type='text'>WebSphere Process Server - skipping steps in the process</title><content type='html'>A customer of mine has decided to build an application that can monitor his processes, instead of the regular WPS supplied tool.&lt;div&gt;His main concern was skipping steps. Turns out that when a process has executed a specific activity, and this activity is in a special position (like user task) - an outside application can cause a skip in the process.&lt;/div&gt;&lt;div&gt;I have developed a short demo for this, and I'm enclosing the main method here. Just make sure to disable the process security before running it - or you'll get a non authorized exception...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;// Connect to the server&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Properties props = new Properties();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;props.put(Context.PROVIDER_URL, "iiop://localhost:2811");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;javax.naming.InitialContext ctx = new javax.naming.InitialContext(props);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;// Lookup the BusinessFlowManager. If you get casting exception - read the InfoCenter - you need to add some JARs to your code - it's WPS/ProcessChoreographer/client/bpe137650.jar&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Object lookupResult = ctx.lookup("com/ibm/bpe/api/BusinessFlowManagerHome");&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;BusinessFlowManagerHome processHome = (BusinessFlowManagerHome) PortableRemoteObject&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;.narrow(lookupResult, BusinessFlowManagerHome.class);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;BusinessFlowManager bfm = processHome.create();&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;// Replace with any process id&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;ProcessInstanceData pid = bfm.getProcessInstance("_PI:90030124.f71386d4.dbed54f5.5d84025c");&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;// Replace with any activity name&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;ActivityInstanceData aid = bfm.getActivityInstance(pid.getID(),"Wait");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;// Skip to the specific activity&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;bfm.skipAndJump(aid.getID(), "TargetActivity");&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-4059600168665048832?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/4059600168665048832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/12/websphere-process-server-skipping-steps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/4059600168665048832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/4059600168665048832'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/12/websphere-process-server-skipping-steps.html' title='WebSphere Process Server - skipping steps in the process'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-1219221252110294224</id><published>2009-11-11T13:45:00.000-05:00</published><updated>2009-11-11T23:21:02.647-05:00</updated><title type='text'>AspectJ 1.6 with runtime weaving and WPS 6.2</title><content type='html'>Well, I haven't blogged in ages, and it's not because I lacked things to share...&lt;div&gt;Anyway, almost all of my WPS customers are looking for some level of polymorphism (or process templating) and AOP. For the first - I currently have no solution. For the second - here comes...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Download AspectJ 1.6.2. &lt;/li&gt;&lt;li&gt;Since it's been a long time since I worked with AspectJ, I wrote a small program in Eclipse. I just made sure that it used the WPS JDK - to make sure the -javaagent flag works. It does. However, you can't use it when your eclipse works with a Sun JDK. So - add a -vm to your eclipse.ini file. (See here for details: &lt;a href="http://wiki.eclipse.org/Eclipse.ini"&gt;http://wiki.eclipse.org/Eclipse.ini&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Now, I opened a new WID module, wrote a short process.&lt;/li&gt;&lt;li&gt;I also created a small Java Project, which will create a JAR in the WAS/lib directory. It will include my aspects and the aop.xml file (under the META-INF directory)&lt;/li&gt;&lt;li&gt;I started my WPS server, and put the -javaagent flag in the startup options. &lt;b&gt;WAIT!!! Since WPS security is enabled by default, and the aspectJ weaver is located outside the WPS libraries - java security policy won't let it load - and you can't start your server!!!&lt;/b&gt; Copy the jars into the WPS lib directory. Just make sure you don't override existing files (aspectj.jar should be in WPS/lib - just rename it to something that doesn't end with JAR)&lt;/li&gt;&lt;li&gt;That should be it - the aspects now work. However, how do we tie them to the process itself?&lt;/li&gt;&lt;li&gt;It seems that the way WPS works is that for every BPEL activity there is a class in the com.ibm.bpe.engine package, and the doActivate method is called. So our pointcut will need to look like this - @Before("call(void com.ibm.bpe.engine.BpelActivityKind*.*(..))")  - this should also explain why we put the aspect in the JAR in the WAS/lib directory - it should be in the correct class-loader level.&lt;/li&gt;&lt;li&gt;Well the only thing missing is the actual pointcut - but it's too late for that - will publish it tomorrow morning... Don't hold it against me. I will also post the required code to get which Activity we are on. Quite cool...&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-1219221252110294224?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/1219221252110294224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/11/aspectj-16-with-runtime-weaving-and-wps.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/1219221252110294224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/1219221252110294224'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/11/aspectj-16-with-runtime-weaving-and-wps.html' title='AspectJ 1.6 with runtime weaving and WPS 6.2'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-7039169642652680021</id><published>2009-09-27T05:27:00.000-04:00</published><updated>2009-09-27T05:36:07.110-04:00</updated><title type='text'>WebSphere ESB and EJBs</title><content type='html'>My next post will probably be a book review - I was asked to review a new book on WAS 7.0 administration. Cool. Hopefully I'll be able to read it in the next couple of days (did I ever mention I was a quick reader?)&lt;div&gt;In the meantime, I want to publish my findings on the use of EJBs in WebSphere ESB.&lt;/div&gt;&lt;div&gt;A customer of mine is using WebSphere ESB. For services, it developed EJBs (stateless, of course, but still - version 2.0).&lt;/div&gt;&lt;div&gt;The mediation module has imports for the EJBs.&lt;/div&gt;&lt;div&gt;This turns out to be a very bad architectural decision (I arrived to the project after this decision was taken :-) ) , and right now they are rewriting everything, to drop EJBs and use SCA Java components.&lt;/div&gt;&lt;div&gt;Why?&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;SCA Java components are actual EJBs, so why have an EJB call an EJB? Not a smart move, performance wise.&lt;/li&gt;&lt;li&gt;Mediation Module (6.1) EJB support is lousy. It fails generating good mapping between the Java bean parameters and Data objects. So my customer resorted into sending Strings to the EJBs, and then parsing them, at the EJB level, to POJOs, using XMLBeans. This is insane - and shouldn't be done.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;So what is the current (working!) recommendation?&lt;/div&gt;&lt;div&gt;Use SCA Java components, in the same module, or other modules, depending on your component visibility and deployment needs.&lt;/div&gt;&lt;div&gt;Inside the Java component, use a mapper to map the DataObject object into real Java POJO. and then pass it to your business logic, which is implemented in regular Java Classes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The mapper is really easy to write:&lt;/div&gt;&lt;div&gt;1. Use JAXB or XMLBeans to generate mapping between the DataObject XSD and a Java class.&lt;/div&gt;&lt;div&gt;2. Write a method that has the following signature:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;public static Object mapper(DataObject do, Class clz)&lt;/div&gt;&lt;div&gt;3. Use reflection on the clz - create a new instance of it, and for every field decide:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;3.1 If its a primitive - transform it.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;3.2 If its a Java Class - call yourself in recurssion&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;3.3 If its an array - run over all elements&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It works fine, great performance, and the development barrier was lowered by more than a few inches.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hope it serves someone well.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-7039169642652680021?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/7039169642652680021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/09/websphere-esb-and-ejbs.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/7039169642652680021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/7039169642652680021'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/09/websphere-esb-and-ejbs.html' title='WebSphere ESB and EJBs'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-2295824097114401668</id><published>2009-09-17T07:31:00.000-04:00</published><updated>2009-09-17T11:27:03.929-04:00</updated><title type='text'>Problems installing WID 6.2 on Windows 7</title><content type='html'>I faced many problems while installing WID 6.2 on my Windows 7 machine. I won't get into the full set of problems I encountered, but the process that did work for me was as follows:&lt;div&gt;1. Don't run the launchpad application, but the installer inside IM_win32&lt;/div&gt;&lt;div&gt;2. Run the installer in compatibility mode, for WindowsXP SP2&lt;/div&gt;&lt;div&gt;3. Since I already tried installing - I had to install everything to a clean directory&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;3.1 This is a reported bug and was fixed in a fixpack already&lt;/div&gt;&lt;div&gt;4. Remove the file c:\windows\.nifregistry&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I found the last tip after digging inside the installation log files, I found the following command executed -C:/Program Files/IBM/WID62/image/WPS62/iip/contrib/6.1.0-WS-WASWS/1/WinX32\WEBSV\install.exe -options C:/Users/liran.ALUNA/responsefile.WEBSV.txt -silent&lt;/div&gt;&lt;div&gt;And the log file specified a NullPointerException on the com.ibm.ws.install.ni.framework.product.VersionUtils.compareVersionsUpToDigit(VersionUtils.java:170)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The weird thing is that I did everything by the book, so it's not clear to me why no one else got this error. But hey - it works now...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-2295824097114401668?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/2295824097114401668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/09/problems-installing-wid-62-on-windows-7.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/2295824097114401668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/2295824097114401668'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/09/problems-installing-wid-62-on-windows-7.html' title='Problems installing WID 6.2 on Windows 7'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-2841138516646271318</id><published>2009-09-13T14:22:00.000-04:00</published><updated>2009-09-13T14:27:19.893-04:00</updated><title type='text'>Working with Linkedin</title><content type='html'>I've found that I'm using LinkedIn more and more. As a matter of fact - I think I spend around 2-4 hours a week on LinkedIn - getting new connections, sending messages, and finding leads. Heck - I even found a recommendation for my kid's kindergarden from LinkedIn. Not exactly what I would expect from a professionals network.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But mostly - I try to hire people through LinkedIn. All our tests found this to be the most effective way to get CVs. From around 700 connections I usually get 40 responses (not all from my connections, and I also post in groups I belong to) - around 80% of them relevant. Much better than the junk I get from web based hiring sites, or from head hunters.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Still - I have a problem. Can't understand why LinkedIn limits me in sending messages to only 50 people at once. Considering all of these guys are my friends - LinkedIn shouldn't care about that. Heck - if they only offer this option for premium sites - I'll go premium (they don't, however). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What to do? Can't say it here (haven't checked the legal stuff yet). But I might have found a solution. It involves coding however. Tons of coding. Luckily I have strong Java roots...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-2841138516646271318?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/2841138516646271318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/09/working-with-linkedin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/2841138516646271318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/2841138516646271318'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/09/working-with-linkedin.html' title='Working with Linkedin'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-6068562597697908678</id><published>2009-08-09T04:46:00.000-04:00</published><updated>2009-08-09T04:57:33.632-04:00</updated><title type='text'>Stale Connection in WebSphere Application Server 6.1</title><content type='html'>Well, a customer of mine has a very weird bug. Sometimes he gets a StaleConnection exception when executing a statement against his Oracle Connection. The client runs WebSphere App Server 6.1, Oracle Database 10g, and uses EJBs and an XA datasource. &lt;div&gt;Finally, we discovered that there is a scenario that always raises the Stale Connection Exception, and we started investigating the root of the problem.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First of all, WebSphere throws the Stale Connection exception as a wrapper to specific SQL Exceptions received from the JDBC connection. &lt;/div&gt;&lt;div&gt;But why is the connection suddenly closed? A step-by-step following with the debugger found that we get the connection open from the datasource, and then, suddenly, the connection is closed.&lt;/div&gt;&lt;div&gt;We tried to convert the datasource to a non-XA datasource, and received allot of exceptions. This showed us that the process in question needed the XA capabilities of WAS.&lt;/div&gt;&lt;div&gt;We then wrote wrappers over Oracle's XA connection manager &lt;span&gt;&lt;span&gt;(oracle.jdbc.xa.client.OracleXADataSource) and Oracle's Connection &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;(oracle.jdbc.pool.OraclePooledConnection), and seen the debug messages.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: monospace, serif; font-size: 13px; white-space: pre; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;We still have no solution, but there can be 2 options:&lt;/div&gt;&lt;div&gt;1. There is a bug with the WAS XA handler.&lt;/div&gt;&lt;div&gt;2. When using statement.getConnection().close(), we close the physical connection, and not the logical connection coming from the datasource. The customer now changes his code, to see if he can get away without the statement.getConnection() bit, and close the logical connection received from the datasource. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll post more details later.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-6068562597697908678?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/6068562597697908678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/08/stale-connection-in-websphere.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/6068562597697908678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/6068562597697908678'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/08/stale-connection-in-websphere.html' title='Stale Connection in WebSphere Application Server 6.1'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-8979097462459402465</id><published>2009-08-02T07:51:00.001-04:00</published><updated>2009-08-02T07:56:10.823-04:00</updated><title type='text'>WebSphere ESB Invalid Content Length</title><content type='html'>Well, turns out I was mistaken in my previous post. Invalid Content Length can occur when using MTOM in .net C# clients with WebSphere ESB, but that was not the case in our customer.&lt;div&gt;Invalid Content Length appeared when the client closes the socket before sending the entire request. This can happen when the process is halted during send time. WESB will sysout Invalid Content Length, but you can usually ignore it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, we still faced a problem with very large service calls (over 1MB in size - only XML, no attachments). Turns out that our synchronization code was messed up, and for some reason - our cache was not correctly initialized, and so we received allot of NPE (NullPointerExceptions).&lt;/div&gt;&lt;div&gt;So - we synched our cache, and voilla - all works.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That teaches me to blog before I see everything working in my own eyes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One last important issue. Sending large service calls can take time. Allot of time. And so, each C# client has a Timeout property, that sets that Timeout for the service call, in milliseconds. Use it well, since you are very likely to get a Timeout exception before you get the web service response.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-8979097462459402465?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/8979097462459402465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/08/websphere-esb-invalid-content-length.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/8979097462459402465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/8979097462459402465'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/08/websphere-esb-invalid-content-length.html' title='WebSphere ESB Invalid Content Length'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-4880351825254099644</id><published>2009-07-23T04:22:00.000-04:00</published><updated>2009-07-23T04:25:43.856-04:00</updated><title type='text'>WebSphere Integration Developer issues</title><content type='html'>Well, it was a while since I've posted - mainly since my partner (Doron) is in Japan, and I have to do the work of two.&lt;div&gt;But there is a 10 minutes break now, and I really wanted to blog these issues:&lt;/div&gt;&lt;div&gt;1. If you need WAS 6.1 to work with WS-Security and C# clients - drop it. The built in web services support in WAS - JAX-RPC or JAX-WS, just doesn't work. &lt;/div&gt;&lt;div&gt;2. If you send WAS web services, with large content from C# and get SRVE0080E: Invalid content length - you need to set the sendChunk=false property on the .net request client. This will fix it.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-4880351825254099644?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/4880351825254099644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/07/websphere-integration-developer-issues.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/4880351825254099644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/4880351825254099644'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/07/websphere-integration-developer-issues.html' title='WebSphere Integration Developer issues'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-1322985998397890682</id><published>2009-07-02T02:33:00.000-04:00</published><updated>2009-07-02T02:44:07.606-04:00</updated><title type='text'>WebServices Versions</title><content type='html'>Well, just read &lt;a href="http://www.ibm.com/developerworks/java/library/ws-soa-backcomp/"&gt;this&lt;/a&gt;. It's an article by IBMers on versioning of web services and schemas. I got this URL from @kfrion after a phone call we had together concerning the versioning of APIs.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The article highlights the same problem I'm presenting in my SOA classes and to my customers. Generating WSDL is great. Whether you're using VS.Net or AXIS/CXF/Metro - WSDL is automatically generated and it works just fine.&lt;/div&gt;&lt;div&gt;However, if you want to use company standard XSDs (from your repository of business objects), to enforce policies, or anything like that - you're stuck. The reason - WSDL editing tools are just not good enough.&lt;/div&gt;&lt;div&gt;And if you need to upgrade your WSDL version - changing the target URL, the schema and so on - then you're on the road to hell, since it requires so much low level understanding of the schema and WSDL specs that your chance of getting it right is slim.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, what we really need are tools that will allow us to set everything in the WSDL from our code annotations (schema locations, policies, etc.), and can understand changes we made to our programming language code, and generate a backward compatible WSDL according to all versioning best practices.&lt;/div&gt;&lt;div&gt;I've developed something like that (very very limited) in C#. If someone is interested - reply or mail me.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-1322985998397890682?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/1322985998397890682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/07/webservices-versions.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/1322985998397890682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/1322985998397890682'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/07/webservices-versions.html' title='WebServices Versions'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-2242147142730056758</id><published>2009-07-01T04:06:00.001-04:00</published><updated>2009-07-01T04:06:50.582-04:00</updated><title type='text'>Technorati</title><content type='html'>Well, time to join Technorati. So here is the code - hbsqcxpkyg... Hope all goes well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-2242147142730056758?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/2242147142730056758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/07/technorati.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/2242147142730056758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/2242147142730056758'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/07/technorati.html' title='Technorati'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-774485820974128381</id><published>2009-06-29T02:26:00.000-04:00</published><updated>2009-06-29T02:32:27.714-04:00</updated><title type='text'>WPF and Silverlight</title><content type='html'>Wow. 2 weeks since my last post. Had about 100 twits since then. Just goes to show you.&lt;div&gt;Anyway, I was asked to give a presentation to a customer concerning Microsoft new technologies. I told them that I'm a Java guy - but they just asked me to do it anyway. What could I do?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, I opened my VS.Net2010, and my PowerPoint 2007, and started making some slides. Talked about cloud (from Yahoo presentations), VSTS, SQL Server 2008 and more.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But the technology I'm most impressed with is Silverlight and WPF. Now, I've seen my share of WPF and Silverlight applications, and development demos. But working on these technologies using VS2010 is a great experience. I've developed 2 demos (on technologies I hardly know) in like 5 minutes. And comparing it to my VB6 experience way back, I had to say WOW. WPF is clean, organized, very well documented and understandable. Compared to SWING/AWT/SWT - it is much simple to use, the applications run faster, and the development tool is much much better. &lt;/div&gt;&lt;div&gt;For short - the old best practice - of building client UIs in MS technologies, and backend systems with Java technologies, and connecting the dots with Web Services/REST/JSON - seems to still be in place.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-774485820974128381?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/774485820974128381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/06/wpf-and-silverlight.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/774485820974128381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/774485820974128381'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/06/wpf-and-silverlight.html' title='WPF and Silverlight'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-5249544647569257059</id><published>2009-06-15T07:23:00.000-04:00</published><updated>2009-06-15T07:38:01.287-04:00</updated><title type='text'>Facebook App Development</title><content type='html'>So, preparing to my alphageeks lecture, I started building a demo facebook application. As always, I try to set the standard high - probably too high for my free time. So, mining facebook data is not interesting enough for me. Instead - I want to build a facebook applicaiton, that will be hosted on my page. &lt;div&gt;Not an easy task - let me tell you that.&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;I started by downloading Apache-Tomcat 6, hoping it will run my application.&lt;/li&gt;&lt;li&gt;Downloaded the Google Java Facebook API, and the web application that comes along with it. (See &lt;a href="http://code.google.com/p/facebook-java-api/"&gt;here&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Deployed the web-app in Tomcat.&lt;/li&gt;&lt;li&gt;Got tons of DB related problems - but I don't care.&lt;/li&gt;&lt;li&gt;Fixed params in the facebook.properties file (api_key, secret and callback)&lt;/li&gt;&lt;li&gt;Got a static IP. &lt;/li&gt;&lt;li&gt;Changed the facebook app call-back URL&lt;/li&gt;&lt;li&gt;Added my custom code to the web-app.&lt;/li&gt;&lt;li&gt;Voila - all works.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-5249544647569257059?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/5249544647569257059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/06/facebook-app-development.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/5249544647569257059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/5249544647569257059'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/06/facebook-app-development.html' title='Facebook App Development'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-7707018310149106668</id><published>2009-06-08T07:12:00.001-04:00</published><updated>2009-06-08T07:17:57.170-04:00</updated><title type='text'>TPTP and Java6</title><content type='html'>Well, I'm demoing TPTP, and decided to use Java6. Why? Because my laptop is new, and I'm going with the most up-to-date version. Not neccessarily the right call. Why? Because all tutorials on the net show how TPTP work with Java5, and not with Java6. What's the difference? JVMPI, which TPTP works on, is discontinued on Java6. So, how do we profile using TPTP?&lt;div&gt;You need to download this - &lt;a href="http://www.eclipse.org/tptp/home/downloads/#Agents"&gt;http://www.eclipse.org/tptp/home/downloads/#Agents&lt;/a&gt; and install it. And then follow the instructions here - &lt;a href="http://www.eclipse.org/tptp/platform/documents/tutorials/jvmti/Java_Application_Profiling_using_TPTP-v2.0.html"&gt;http://www.eclipse.org/tptp/platform/documents/tutorials/jvmti/Java_Application_Profiling_using_TPTP-v2.0.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Man. This is lame!!!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-7707018310149106668?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/7707018310149106668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/06/tptp-and-java6.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/7707018310149106668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/7707018310149106668'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/06/tptp-and-java6.html' title='TPTP and Java6'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-4171177903410158848</id><published>2009-06-07T09:49:00.001-04:00</published><updated>2009-06-30T07:06:28.970-04:00</updated><title type='text'>Meeting effectiveness is disproportional to its length</title><content type='html'>Well, I've read - &lt;a href="http://www.businessinsider.com/how-not-to-blow-your-meeting-with-me-2009-6"&gt;http://www.businessinsider.com/how-not-to-blow-your-meeting-with-me-2009-6&lt;/a&gt; - and loved it. &lt;div&gt;I'm following a rule that says the longer the meeting - the less effective it is. Our board meetings take 2 hours - and are a total waste of my time. Customer meetings - I'm keeping to a 30 minutes top. The most effective ones I have are 10 minutes long. 5 minutes chit-chat, 3 minutes business (this is what I do - cool, this is what I need, or vice &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;verse&lt;/span&gt;), and 2 minutes goodbyes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've searched and couldn't find a reference to such a law on the net (meeting &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;effectiveness&lt;/span&gt; is disproportional to its effectiveness). If you do - please post it here.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;BTW - the law doesn't apply in &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;government&lt;/span&gt; agencies and financial institutions. Or rather - it applies there more than anywhere.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-4171177903410158848?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/4171177903410158848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/06/meeting-effectiveness-is.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/4171177903410158848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/4171177903410158848'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/06/meeting-effectiveness-is.html' title='Meeting effectiveness is disproportional to its length'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-1805206014805645757</id><published>2009-06-04T01:18:00.001-04:00</published><updated>2009-06-04T01:27:13.263-04:00</updated><title type='text'>SOA and GWT/HTML Scraping</title><content type='html'>As promised, I continue my previous posts on the Message Enrichment scenario. I met with the customer, and it seems, that the only way to truly enrich their ESB message is to build an image processing engine right inside the ESB. Although it sounds quite cool - and I'd love to do it myself, since it's been years since I wrote some image processing code (last time was on Turbo Pascal for Windows 1.5 - ;-) ) - it seems like a waste to put inside the ESB.&lt;div&gt;The solution? Use an HTML scraping as an ESB connector, to rip the data from the web browser, and use it as a service. The reason - the application wrote some code inside the engine, and some code (like zoom-in/zoom-out) inside the web browser (using GWT). And so a command will be recieved, it will be translated to an HTTP GET request, and the resulting HTML will be scrapped, to get the actual required image.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I like this idea, and not (only) becuase it's mine. I think it makes good reuse of existing code, which is what service exposure is all about, at least for me. The shocking part was that no one I talked to even considers HTML scraping as a legitemetasdf SOA concept. Ain't that odd? I can't count the times I had to pull my HTML scraping toolkit (XQuery and JTidy are fine by me, thanks) and rip information from existing HTML pages.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, there is a chanllenge here. Is it even possible to scrap GWT based pages?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-1805206014805645757?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/1805206014805645757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/06/soa-and-gwthtml-scraping.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/1805206014805645757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/1805206014805645757'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/06/soa-and-gwthtml-scraping.html' title='SOA and GWT/HTML Scraping'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-4629695427199719123</id><published>2009-05-27T14:55:00.000-04:00</published><updated>2009-05-27T14:57:59.550-04:00</updated><title type='text'>Attention span</title><content type='html'>I am watching the soccer game right now, Barsa is leading 1-0. However, my laptop is on my laps (I already have 2 kids). I find that I just can't focus on anything on TV without doing some work in between.&lt;div&gt;I blame it on the TV series I watch on my laptop while working. I think I saw all of Stargate 10 or so seasons without wathcing a single episode - just hearing them. &lt;/div&gt;&lt;div&gt;Really lame.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-4629695427199719123?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/4629695427199719123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/05/attention-span.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/4629695427199719123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/4629695427199719123'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/05/attention-span.html' title='Attention span'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-7216171595015368429</id><published>2009-05-26T02:13:00.000-04:00</published><updated>2009-05-26T02:23:15.340-04:00</updated><title type='text'>Message enrichment</title><content type='html'>&lt;div&gt;I was asked yesterday by a new customer about the following problem. &lt;/div&gt;&lt;div&gt;You have 2 systems that do basically the same thing. You build a new UI that needs to activate both systems. One system exposes WSDL A, the other - WSDL B. There is an ESB in the middle. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, my gut feeling was - build a bridge in the ESB and make one service to the outside application. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But - turns out the bridge is quite a task. WSDL A and WSDL B were designed in a totally different manner - one is coarse grained and on is fine grained. So the bridge would need to store temporary information in a database. If that's not enough - some messages contain JPG files, and processing and merging them is neccessary. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, what do we do? we thought of another option. Building the new UI, and letting the UI activate the 2 services - or even better, do some mashups from the existing 2 applications (each accessing the different application).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since this was just an introduction meeting, nothing was yet decided. My gut feeling is the bridge, since this is the organization first real "Service", and I want to make sure the organization get the real taste for SOA. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But, there will be some more meetings on this matter - I will write updates on this post. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-7216171595015368429?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/7216171595015368429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/05/message-enrichment.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/7216171595015368429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/7216171595015368429'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/05/message-enrichment.html' title='Message enrichment'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-4824030791283306313</id><published>2009-05-26T02:03:00.000-04:00</published><updated>2009-05-26T02:12:47.719-04:00</updated><title type='text'>More on Windows7</title><content type='html'>I can promise that this would be the last post on Windows7, but that would be a lie...&lt;div&gt;Anyway, Eclipse3.4 (Ganymede) now works on my machine. What changed? I don't know. I did nothing, that's for sure. But Windows7 is starting an irritating habit of restarting during the night. Now since I am (still!!! damn IBM) downloading the 5.5GB of WID, this freezes my download, and I need to wake up to continue the download manually. Luckily, my 4month old - Naama, is waking at 5:30, so I don't lost much download time.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In addition, I updated my network drivers, and it seems my browsing experience is much improved, thank you. I saw allot of questions in the forums on this - slow browsing/downloading - so I guess that this is quite common. I hope I am behind this topic. Only 1 hour to finish download WID. I am not sure, but I might install it on Ubuntu. I downloaded the VM yesterday.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After that - downloading an Oracle DB VM. Oh - and I'm working too. But that - on my next post.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-4824030791283306313?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/4824030791283306313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/05/more-on-windows7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/4824030791283306313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/4824030791283306313'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/05/more-on-windows7.html' title='More on Windows7'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-2973580872994182856</id><published>2009-05-25T13:15:00.000-04:00</published><updated>2009-05-25T13:17:22.072-04:00</updated><title type='text'>Chrome and Windows7</title><content type='html'>So, it seems that Murphy decided to visit me after my last post on the wonders of Chrome. It seems that on Windows7 I'm facing some weird bug - download speed is slowing to a crawl. So my 5.5 GB download of WID 6.2 (IBM - get me a net installer, like VSTS10) was supposed to take like 500 days or so. on IE8 - 9 hours. Odd...&lt;div&gt;But still, I'm keeping loyal to Chrome. At least until something better arrives.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-2973580872994182856?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/2973580872994182856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/05/chrome-and-windows7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/2973580872994182856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/2973580872994182856'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/05/chrome-and-windows7.html' title='Chrome and Windows7'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-5969694189413117585</id><published>2009-05-24T01:26:00.000-04:00</published><updated>2009-05-24T01:33:01.826-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='chrome windows7 IE8'/><title type='text'>Chrome</title><content type='html'>Well, I've installed my Windows7 machine, liked it, and so on. However, with Windows7, comes IE8. Now, I still used IE on my old machine (XP) since some sites demands IE (my bank site, government - pay taxes site and my favorite - Matrix internal portal). But I've moved to FireFox3 a long time ago, and never looked back.&lt;div&gt;However, on Windows7 - no more FireFox. Only Chrome. I've used it before, but now it is my default (and practically only) browser. IE8 is there - for the IE required sites, but I never even tested it. Just installed Chrome - and off we go.&lt;/div&gt;&lt;div&gt;The most useful feature about Chrome is it's layout. No Windows title - so more browsing space. Address-bar is merged with search-bar, few management icons - hell I even leave the links bar activated - my first time ever.&lt;/div&gt;&lt;div&gt;And you have a really cool ability to take a tab and drag it to a new window, and vice-verse.&lt;/div&gt;&lt;div&gt;And it is quick. Really.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, Shockwave plugin works terrible on Chrome. Some sites (www.themarker.com for instance) use Shockwave for commercials, and my page gets stuck. Luckily (and unlike FireFox) Chrome isn't hang over Shockwave - only closes the misbehaving tab. So for now - Chrome is my browser of choice. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One more word for Google - quickly you guys, release a plugin environment. Everyone is waiting...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-5969694189413117585?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/5969694189413117585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/05/chrome.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/5969694189413117585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/5969694189413117585'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/05/chrome.html' title='Chrome'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-326688592498402650</id><published>2009-05-21T23:41:00.001-04:00</published><updated>2009-05-21T23:47:37.325-04:00</updated><title type='text'>Windows7</title><content type='html'>It's been 36 hours since I installed Windows7. Somethings I gathered:&lt;div&gt;&lt;ol&gt;&lt;li&gt;Installation is a snap&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Everyone thinks I'm crazy - especially those with Vista experience. Since I never used Vista - I have no idea what they're talking about. For now - I love my Windows7.&lt;/li&gt;&lt;li&gt; There's a key combination providedd by Windows to support projectors. Finally. I have these Lenovo combinations. The hibernate button on my Lenovo laptop was the Projector button on my HP laptop, so for the first couple of months I've closed my machine whenever I wanted to present something. Not cool!!!&lt;/li&gt;&lt;li&gt;Most of the things are installed. At least the important stuff. &lt;/li&gt;&lt;li&gt;I gave up and instead of using my own private directories for files - I've placed everything under my documents. No more "c:\My Music" but instead using a Music library.&lt;/li&gt;&lt;li&gt;I hate Windows Media Player. Don't know why. It downloads stuff for each MP3 I play. Why do I need it? But the media library is very nice. I'll need to learn how to use it though.&lt;/li&gt;&lt;li&gt;Took me a time to get accustomed to the small icons stuff on the TaskBar. Finally I gave up and displayed the labels as well.&lt;/li&gt;&lt;li&gt;Can't get used to the new Windows Explorer. So, I've downloaded Total Commander - which rocks, even on Windows7&lt;/li&gt;&lt;li&gt;The fact that I can use Alt-Tab to "Show Desktop" isvery good.&lt;/li&gt;&lt;li&gt;I need more hours in a day. And much more sleep.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-326688592498402650?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/326688592498402650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/05/windows7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/326688592498402650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/326688592498402650'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/05/windows7.html' title='Windows7'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4573187404728024006.post-2122584325749990704</id><published>2009-05-21T23:38:00.000-04:00</published><updated>2009-05-21T23:40:58.287-04:00</updated><title type='text'>Starting 1,2,3...</title><content type='html'>So, finally, started using Blogger. My older posts are at &lt;a href="http://cafe.themarker.com/view.php?u=96770"&gt;http://cafe.themarker.com/view.php?u=96770&lt;/a&gt;, which I dropped since I dislike TheMarker Cafe. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4573187404728024006-2122584325749990704?l=liranz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://liranz.blogspot.com/feeds/2122584325749990704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://liranz.blogspot.com/2009/05/starting-123.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/2122584325749990704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4573187404728024006/posts/default/2122584325749990704'/><link rel='alternate' type='text/html' href='http://liranz.blogspot.com/2009/05/starting-123.html' title='Starting 1,2,3...'/><author><name>Liran Zelkha</name><uri>http://www.blogger.com/profile/13597166710910913347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/-Q4WaS9OgRM4/TkPq-EPfulI/AAAAAAAABzU/DEupMFEQKmI/s1600/photo.jpg%253Fsz%253D200'/></author><thr:total>0</thr:total></entry></feed>
