DCSIMG
December 2008 - Posts - Ido Flatow's Blog Veni Vidi Scripsi

Ido Flatow's Blog

Veni Vidi Scripsi

News

Have you heard me speak?
Powered
<style type='text/css' media='screen' id='sm_css'> #smix {overflow: visible;height: auto;border-radius: 10px;max-width: 250px;background-color: #323232;text-align: left;font-size: 12px;line-height: 16px;font-family:'Lucida Sans Unicode','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;-webkit-border-radius: 10px;-moz-border-radius: 10px;border-radius: 10px;} #smix a {color: #0056CC;text-decoration: none;} #smix .sm_head {color: #fff; line-height: 1em;font-size: 1.4em;padding: 10px;color: #fff;} #smix .sm_lanyard_wrapper {background-color: #fff;;clear: both;width: 97%;margin: 0 auto;margin-bottom: 0px;} #smix .sm_lanyard_content {padding: 7px;}#smix button.sm_rec, #smix a.sm_rec, #smix input[type=submit].sm_rec { padding: 6px 10px; -webkit-border-radius: 2px 2px;-moz-border-radius: 2px; border-radius: 2px; border: solid 1px rgb(153, 153, 153); background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(255, 255, 255)), to(rgb(221, 221, 221))); color: #333; text-decoration: none; cursor: pointer; display: inline-block; text-align: center; text-shadow: 0px 1px 1px rgba(255,255,255,1); line-height: 1; }#smix .sm_rec:hover { background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(248, 248, 248)), to(rgb(221, 221, 221))); }#smix .sm_rec:active { background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(204, 204, 204)), to(rgb(221, 221, 221))); }#smix .sm_rec.medium { padding: 3px 7px; font-size: 13px; }#smix .sm_rec span.icon.thumbs_up {background-position: 0px 36px;vertical-align: text-top;display: inline-block;margin-right: 4px;height: 18px;width: 16px;background-image: url(http://speakermix.com/images/new/thumbsold.png);}#smix .sm_rec:hover span.icon.thumbs_up {background-position: 0px 18px;} #smix .sm_events {padding:2px 0px 4px 0px;} #smix .sm_section {font-size: 10px; border-bottom: 1px solid silver; margin-bottom: 6px;} #smix .sm_subline {font-size:120%;margin-top:4px;font-weight:bold} #smix .powered {text-align: right} #smix .powered img {margin: 7px} </style>
Sela Technology Center

Advertisement

December 2008 - Posts

DevAcademy3 – part 2 of the day

My last post ended because I wanted to listen to Sasha’s lecture - as I expected the lecture was very good, talked about a bunch of stuff I don’t usually use, such as threading and concurrent computing (what can I do, I’m just a simple programmer), but I did enjoy Sasha’s answer in the architect’s panel when he was questioned how much time he spends learning new stuff (for those of you who weren’t there – videos will come up in a couple of days).

My next lecture was Shay’s dynamic languages – cool stuff to use, I myself use a bit of that when calling JS from SL. The presentation was a bit “high level” walk-through, but I enjoyed it since my knowledge of the field aspires to NULL (hahaha, programmers joke, I’m such a geek…)

The last lecture of the day was Yair’s lecture about “Velocity” – a technology I’ve wanted to take a look at for a long time, and I enjoyed it very much, especially Yair himself which as I understand was a great lecturer and remained so even though he didn’t practice it for a couple of years. Unfortunately, there were a few slides in the beginning that took too much time to talk about, so by the time we got to the end of the lecture he rushed it a bit, but still, I enjoyed it very much.

To conclude the day – I guess that if I took the time to skim the presentation before hand, I would select more appropriately the lectures I’d go to according to the material, in contrast to selecting the lectures according to their title.

As for other issues – food was great, bloggers dinner was great, sorry I couldn’t stay longer

 

See y’aal at the next conference ..

Dev Academy 3 – My impressions so far

First, since I like to complain and this post is mainly complaining, I’ll start by complaining about the traffic jam I had this morning driving from my home to the train station – 30 minutes to pass a distance I usually pass in 5 minutes – this wasn’t MS’s fault, unless the people who were involved in the card accident in Nes-Ziona were MS employees …

Well, enough complaining on arriving to the convention, let’s start talking about the convention:

My first “visit” was to Pavel’s lecture about hardcore C#. Well, I can’t really call it hardcore. For me – If you say you know C# 3.0 you should know about lambda expressions and expression trees. If you know C# 2.0, you should familiar yourself with iterators and yield return. So maybe calling this lecture “New features of C# 3.0 and some from 2.0” is more suitable.

My second lecture wasn’t a lecture but a panel – the architects panel. As always, it’s start funny and continue to be boring at some level. Add to that the heat caused by squeezing 100 people to a room with no air conditioning, I found myself exiting after 20 minutes or so because I just couldn’t stand it any more (heat wise). I guess if I stayed enough I might have learned something new, but I just couldn’t stand the heat.

So my second lecture was actually Shai’s lecture about testing web sites, which was quite nice, although I didn’t hear much of it because I came in late. My worries about testing web sites is still the problem we face today when the amount of JS code in the client grows more and more as we use AJAX frameworks (AspNet AJAX, ExtJS, Dojo…) and that cannot be tested with neither of the tools Shai mentioned – sorry Shai, but sometimes manual testing is the only testing you can count on. But I will remember this tool for service testing and simple sites testing.

Now I’m listening to Sasha’s lecture about concurrent programming, but s/ince I’m writing this post I can’t really listen to the lecture (I’m a man - man can do one task at a time, not like women that have the capability of parallel tasking – see how I used the lecture’s title…), but I do hear many laughs, so it’s probably a funny lecture, so I’ll end this post and be back to you afterwards.

Silverlight toolkit’s AutoCompleteBox and the BIDI TextBox

First of all, it as good time as any to remind everyone that Microsoft’s Silverlight 2.0 doesn’t support Right-To-Left (RTL) text writing. God knows why a solution that exists for over 15 years (the logical-visual solution for RTL languages) couldn’t be introduced into Silverlight, and as far as I know it’s not even planned for version 3.0 of SL, so all of you who are planning on writing applications in hebrew/arabic/… – beware !

There is a semi-solution today that supports RTL languages, why “Semi” you ask? Because unfortunately the control that supports RTL writing is a new control that encapsulates a text box and not a text box that was inherited to add support for RTL (By “support” I mean the visual-logical algorithm that MS overlooked) .

Why is that a problem you might ask? because some 3rd party controls have a TextBox as part of their template (for example, the AutoCompleteBox), and since the Bidi.TextBox is not of the same inheritance tree as the silverlight’s TextBox, it just doesn’t work.

What can we do about it? sometimes we can do a workaround for this problem:

1. Create a new duplicated template for the 3rd party control (oh glorious Blend).

2. Add a Bidi.TextBox control to your template

3. Hide the template’s textbox by setting it’s height to zero (You can try setting the visibility to collapsed, but I’ve noticed I didn’t get event thrown this way)

4. Apply Alex’s solution to binding of control properties and attach both Text properties (MS’s and Bidi’s)

5. Hope it work’s pretty enough…

Why isn’t it 100% proof? Because the 3rd party control might still set different properties of the original text box, such as foreground, background, selection etc., causing the Bidi.TextBox not to show all the effects you hoped to get by using the 3rd party control.

How does this relate to the SL Toolkit’s AutoCompleteBox – I’ve applied the above changes to the template and it worked, except for the problems mentioned above (you can see it when setting the IsTextCompletionEnabled property).

I myself am going to look for another autocomplete text box. If anyone has recommendations for an open-source control, I’d be happy to check it out.

 

P.S., I’ll be attending the Dev Academy tomorrow and I’ll be happy to share my experience in developing Hebrew LOB applications with SL 2. In case you don’t know what I look like -  This is me.