Tech*Ed SA is over – thank you
So, Tech*Ed South Africa is over, and I want to tell thanks to all attendees – presenters and visitors. The event was great as well as the organization. As usual, my Visual Studio just stopped working between sessions yesterday, so I had to reinstall it during one of sessions to be ready for next one. Also in XNA session XBOX deployment did not worked for some reason and bandwidth was awful, so this fun session was not very effective. However, how it can be interesting without those technical problems?
Visitors, it was very fun to read feedbacks. Here just snack preview of it (not including comments like “Enjoyed”, “Brilliant”, “Nice!”, “Exceptionally good”, etc…:
“Level 300? Should have been marked as a 200?”
”Now this was 300 Advanced level”
”The description said Advanced but if was very very VERY advanced”
”I was definately in the wrong session coz I am only a begginner in Reflection and this was a 300 Advanced session… my bad”
”The speaker was very well prepered, thus did not strukkel to speak. i understand the topic very well, but still enjoyed the talk.”
”sometimes he sounds more like Borat than a knowledgeable speaker. There were a number of sniggers in the audience at his comments, which distracts from the content.“
”Brilliant presenter, speaks fluently and clear, not like all others. Are you from Canada?”
”Excellent, not applicable for business, but bring more of these. MORE.”
”Probly the wrong sesion for me but was interesting”
”Host’s setup of machines was troublesome.”
”SA Bandwidth issues reduced the effectiveness of the demo side of things.”
Guys, please let’s set it clear (at least for me):
- 100 – Go to sales department
- 200 – Slides with nice pictures – no code
- 300 – Visual Studio, Code, some slides
- 400 – All code – almost no theory and slides
- 500 – Machine code
- 600 – Come offline it will take time
And now, my favorite one: “Guys, I would like the trial versions of the following softwares: 1. Visual Studio 2008 2. SQL Server 2008 3. Expression Studio v2.0 4. SharePoint Server 2007 I would appreciate if i can get it before tech-ed closes. Thanks and please contact me if you could assist.”. I sent you an email with links to all requested trials. Keep doing!
I saw about 100 visitors of my blog. They recognized me. Also when I gave my business card (with blog address), almost everyone told: “Oh, I know this blog – very good one”. Charming, that in spite of bandwidth issues, there are my blog readers in SA. If you were in my session and want to tell anything publicly, just leave a comment here.
Tomorrow noon, I’ll leave SA back home and ‘ll start to prepare to Expert Days (do you remember? It’s next week). Unfortunately, I almost had no time to see Africa, but, maybe, next time. Thank you, all again.

August 5th, 2008 · Comments (3)
TechEd South Africa – getting started
So, Tech*Ed SA is over the corner and I’m already there. Finally I got normal internet access (which is problematic in South Africa) in speaker’s room and I can update you with what’s going on here. This year, as well as all previous years, TechEd SA takes place in ICC (International Conference Center) in Durban, which is absolutely incredible. Also, Durban is very criminal, yet nice place. Beaches, sun (it’s winter here), hooligans and a lot of geeks. Hooligans? Yes, my mobile phone was stolen by kids and catch twice (thanks to Israel Defense Forces, teach me to stop thief and other criminal elements).
Also, there is a huge number of homeless kids in Durban streets. Government provides them with shelters, however their parents take them from shelters and make them to be beggars, which makes me very sad.
As in any TechEd, the agenda is very tight. Today evening, there will be the Key notes (IT Pro only) and tomorrow sessions will start.
This year, I’ll going to have four session. Following the time table for it. Be sure to attend.
| DEV319 – Creating Rich Content with Windows Presentation Foundation | Mon, 4th. Session room 15 | 9:15-10:30 |
| Dev320 – Game Development using Microsoft’s Latest Technologies | Tues, 5th. Session room 15 | 9:15-10:30 |
| CNT208 – Choosing the Right Microsoft User Experience Technology | Tues, 5th. Chalk and Talk 4 | 11:15-12:15 |
| DVP307 – Understanding Reflection | Tues, 5th. Session room 12 | 13:30-14:30 |
| DEV318 – Optimization your WPF Application | Tues, 5th. Session room 9 | 16:45-17:45 |
If you want to catch me between session or in evening, please write down my local mobile number: +27 (73) 5996334
See you…
August 2nd, 2008 · Comments (1)
Configuring and running Mono ASP.NET 3.5 (AJAX.NET) on Linux computers
Before we will start, we should install Linux. To do this, you can download any of LiveCDs with live installation. Officially, Mono supported only on one free Linux – openSuse. However, you can make it work on any RedHat (and its alternatives), OpenSolaris. It works, but unsupported on Debians, Ubuntu and Maemo. We’ll stick to openSuse by now.
Let’s install it – OS
I’m assuming, that you’re installing Linux as the only OS on the machine, so insert liveCD (it can be either Gnome or KDE) and wait for Linux to run. It will run live image directly on your machine without installation.
When it’ll up, you’ll see liveInstall icon in your desktop. Click it and skip first two screens (it is only language and local settings). Next screen (disk partitions) is necessary for us.
On this screen, first delete all automatic partitions. The only one main partition will remain (/DEV/SDA or /DEV/HDA). Next you should choose non-LVM option and then start creating partitions.
Create first partition with mount point /boot and size of 100Mb. File system for this partition should be ext3.
Create second partition with file system SWAP (you will not have mount point) and set the size twice bigger, then RAM amount.
Create last partition with mount point / and all remaining size on disk.
All other steps are optional, you can just click Next button.
After about 10 minutes you’ll have up and running openSuse system. (If you forgot to remove CD, choose HardDisk as boot option)
Web Server installation
Now we have to install web server. You can choose either Apache, FastCGI or use build-in server within Mono – XSP. We’ll choose Apache
Goto “Computer” it’s in the same place as Start button
and choose YaST. You’ll be asked for admin password, you entered while installing the system.
Now in the Filter field, type “Install”. Choose “Software Management” from the available programs at right. Now, when Package Selection dialog opens, type “apache”, you’ll find apache2. Select it and click Install. Apache will move to the right column. Optionally, you can install also prefork and utils packages.
Now hit “Apply” to install it. Within two minutes, you’ll be asked to log off and log on. Do it.
By now apache is not running, you should run it and set it starts automatically. To do this, enter terminal window (you can either do it from “Computer” menu or right clicking desktop).
You need elevation to administrate startup programs. So type: “su –“ and enter your password. Terminal color turns red. Type “chkconfig apache2 on”. Now you should check whether it done, so type: “chkconfig apache2 –list”. You should see “On” near number 3 and 5.
To run apache manually, just type “/etc/init.d/apache2 start” to stop “/etc/init.d/apache2 stop”, to restart “/etc/init.d/apache2 restart” and to check the status “/etc/init.d/apache2 status”
We done, apache is up and running. Now we should install mono
Mono installation
Start with the same YaST but this time, type “mono” – you’’ll get a lot of programs. To simplified installation, choose (or type) mono-complete. This will all available Mono modules.
After Mono will be installed, you should install also apache2-mod_mono to make possible running ASP.NET mono pages in Apache. do this.
Log off – log on and move to configuration
Mono configuration
Now it’s time to configure what ASP.NET pages you want to run. We want ASP.NET 2.0, so we should run mono apache mode for this version. To do this, go to the terminal, elevate yourself (su –) and type following: “vi /etc/apache2/httpd.conf” This will open VI editor with apache configuration file in it.
Now it’s time to learn VI a little. To start editing, you should type “A” – it will write “INSERT” in the lower left corner. To return to the command mode, hit escape key. To save (from command mode) “:w” to exit and save “:wq” to exit without save “:q!”. To find “/” and string the pattern you are looking for.
Now go the the very end of the file and write under Include “/etc/apache2/vhosts.d/*.conf” following:
(to short string “[D]” is your virtual directory (slash blank is root), “[P]” is physical path to your site without trailing slash)
MonoServerPath default /usr/bin/mod-mono_server2
Alias [D] “[P]”
AddMonoApplications default “[D]:[P]”
<Location [D]>
SetHandler mono
</Location>
So, if your site is MySite and it is in /srv/www/htdocs/MySite, this section will looks as following:
MonoServerPath default /usr/bin/mod-mono_server2
Alias /MySite “/srv/www/htdocs/MySite”
AddMonoApplications default “/MySite:/srv/www/htdocs/MySite”
<Location /MySite>
SetHandler mono
</Location>
If you want to turn it to the root site, this will looks following:
MonoServerPath default /usr/bin/mod-mono_server2
AddMonoApplications default “/:/srv/www/htdocs/MySite”
<Location />
SetHandler mono
</Location>
Now, we’ll add mono administrative site to be able to restart mono only without touching apache itself. To do this, after last </Location> you should add following:
<Location /mono>
SetHandler mono-ctrl
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
I think it’s very clear what it did
If you have more, then one site and want to configure mono differently for each one of those, you should add VirtualHost section. To do this, include your configuration in to
<VirtualHost [IP and port you want, for example 1.1.1.1:80 or *:80 for all IPs on port 80]>
ServerName [Name you want]
…
</VirtualHost>
We done. Restart apache and enter the url you set (for example http://localhost/MySite/)
Working? Good. You finished.
Not working (familiar yellow error 500 screen)? Keep reading…
Debugging Mono website
Do you remember, that you have no development environment in this machine? You can install it, or download Mono liveCD with openSuse. But before doing it, please note, that GTK# (it’s devenv) is not very user friendly. It even worse, then Eclipse. So let’s try to understand first whether we can fix small compatibility problems without entering code.
The most convenient method to debug web site on Mono is by using XSP and XSP2 mini web servers. Just enter the directory of the site and run it. By default you’ll be able to access the site by using “http://localhost:8080” (it also be written for you). Enter and notice whether you have any errors in console. No? Keep doing
The most common problem is “error 500” with nonsense stack. If it contains ScriptManager error Type not found, the problem is in Web.config file. Try to regenerate it to be compatible to Mono (for example, Mono has different version of System.Web.Extensions assembly. In ASP.NET 3.5 it has version 3.5, Mono has only 1.0.61025.0 (the old AJAX.NET). To recreate your web.config all you have to do is to execute “mconfig af AJAX Web.config” It will create default web.config file, supports System.Web.Extensions (AJAX features).
Person p = new Person();
string sstr = string.Format(“{0}|{1}|{2}|{3}”, p.FirstName, p.LastName, p.Age, p.Wage);
return sstr;
…
var sstr = persons[i].split("|");
var p.FirstName = sstr[0];
var p.LastName = sstr[1];
var p.Age = sstr[2];
var p.Wage = sstr[3];
Not helped? Try to rename “Bin” directory into “bin” “mv Bin bin –r”. Actually this was fixed in latest versions of Mono, but who knows?…
No? Check whether you have partial classes, which is not supported by Mono. If so, recompile it like this
mcs /t:library /out:bin/test.dll –r:System.Web –r:System.Data –r:System.Web.Services –r:System.Web.UI.Controls test.aspx.cs
If you have Generics in your code, you should use gmcs, rather then mcs.
Not helped? It looks, that you have to either install Mono on your Windows machine and debug your code with it. Or, alternatively install GTK# and do in on Linux.
But wait, before doing such big step, install and check the binary compatibility of your code. To do this, you need “Moma” – a simple tool, that tell you if everything is ok for Mono in your assemblies.
Good luck and see you in my forthcoming TechEd session, where I’m presenting openSuse, running UDP multicast server with ASP.NET 3.5 extended methods (It uses recompiled ISAPI filters for apache, rather then regular limited AJAX support in Mono)
Have a nice day and be good people.
July 23rd, 2008 · Comments (11)
TechEd preparation session + other announcements
If you want to attend my preparations before TechEd, you’re invited to attend 27-Jul in Microsoft Ra’anana.
What is preparation session? This is the training for myself. I’ll present all four session (each one is an hour + one hour rep.) This is your chance to hear live my TechEd South Africa sessions, without paying the fee (ZAR 4,500 which is about $600)
Please note, that all lectures are in English (not in Hebrew)
Here the agenda for 27-Jul (Sunday). It will take place in Microsoft Israel building in 2, Ha’Pnina st. Ranana, Israel
| Time | Session title | Conference room |
| 8:30-10:30 | Creating Rich Applications with Windows Presentation Foundation (300) | Media Center |
| 11:00-13:00 | WPF Performance (400) | Visual Studio |
| 14:30-16:30 | Game Development Using Microsoft’s Latest Technologies (300) | Vista |
| 17:00-19:00 | Understanding Reflection (400) | Vista |
Also, be sure, you’re attending my session in Expert Days 11-14 August
- 12-Aug, Windows Presentation Foundation for fellow developers – 027
- 13-Aug, Mastering Microsoft Silverlight 2.0 – 020
- 14-Aug, Advanced .NET 3.5 SP1 – Windows Presentation Foundation – 011
And/or if you were not able to attend Silverlight 2.0 for building Rich Internet Applications event, you are welcome to book the next session at 23-Jul
That’s all for now, see ya…
July 13th, 2008 · Comments (4)
Presenting at TechEd Developers South Africa 2008, Durban
Save the date. TechEd Developers South Africa is around the corner (August 3rd through 6th). This year it will take place in Durban, the third most populous city in South Africa.
This TechEd, there are four sessions assigned to me:
Creating Rich Applications with Windows Presentation Foundation (300)
Completely new session about how to enrich user experience, by decreasing development efforts with WPF. In order to do this, we’ll try to take some application and completely recreate it, by using XAML only without any single code line.
Target audience: Developers and decide makers, who what to understand what can be done with WPF and how easy you can do it.
Understanding Reflection (400)
This is also new session for lazy developers. It’s not only about what reflection is or what’s new about reflection in latest frameworks (including .NET 3.5 and Silverlight), but also how to use it to make developer’s life easier. We’ll enter a bit into IL to understand what’s going on under the hoods, but most of session is about appliance of this technology for everyday developers’ tasks and challenges.
Target audience: Developers, have an experience with .NET programming
WPF Performance (400)
Session very similar to one, I had in Dev Academy 2. However this time it will focus on performance enhancements in .NET framework 3.5 SP1. I’ll speak about virtualization, parallel processing, DX surface direct access and more…
Target audience: Developers, have an experience with WPF development.
Game Development Using Microsoft’s Latest Technologies (300)
Fun session, I had in TechEd Israel with very complicated setup. Here the sneak preview of how it looks like. It listed as a 300 level, because the fact, that except this session’s fun, you can learn a lot of new there.
Target audience: Everyone, who love technology and want to have fun hour in the morning before advanced sessions will begin.
If you’re reading my blog, and you’re going TechEd Africa. Come and say me hello, ‘cos it would be really nice to see the faces of the people I’m writing to in this blog
More information about other sessions in this TechEd can be found in Ahmed Salijee blog, who is developer evangelist in Microsoft Africa and arranges this event.
See you there.
June 12th, 2008 · Comments (8)
Quick note: New TechEd downloads
There is TechEd in Orlando, and this means, that there are a lot of new announcements. Let’s fill up our download managers with expensive fuel and start.
- New WM 6.1 images (both standard and professional) – absolutely required if you’re programming Windows Mobile
- Managed Extensibility Framework – I blogged about it a little in the past. Really cool approach for adding extensibility features to your applications. Krzysztof explains new features there.
- Windows Live Writer new CTP + new SDK – the best tool to post into your blog.
- New CTP of Microsoft Project Codename “Velocity” – great approach for development applications, using high performance in memory cache. Here the deep explanations in the team blog + quick start and samples.
Silverlight 2.0 beta 2 + Microsoft Expression Blend 2.5 June preview will be available for download very soon. Keep watching. Meanwhile, you can start learn about new TabControl, VisualStateManager, new templating system and cross-domain policy from Tim Heuer’s blog. Also there are some news about event bubbling in beta 2 in Jesse’s blog.
June 4th, 2008 · Comments (3)
Silverlight accessibility and CEO support for beta 2
Yesterday, beta 2 of Silverlight was officially announced in TechEd Orlando. There are a lot of interesting changes. One of most significant changes, I want to notice and accessibility support in Silverlight. See yourself (if you do not know what this image about, see this post)
What should you do in order this to happen? Absolutely nothing. This is build in feature in Silverlight 2.0 b2. It’s not like WPF, where you should use Automation namespace boundary. This just works. You can read the Silverlight content with screen narrators. Great respect to dev team.
Why this CEO friendly? Come to my Silverlight half day session at July, 30 to learn why.
Regarding other features, there is new templating model in Silverlight, named VisualStateManager. It can save your time in controls development. Do you remember me speaking about State oriented programming in Silverlight, rather, then KeyFrames oriented programming in Flesh? That what is it.
if (SomethingHappened) {
VisualStateManager.GoToState(this, “SomeState”, true);
}
Also, there is TabControl, text wrapping and scrollbars for TextBox. Regarding DataGrid it become much faster and enhanced by Reordering, Autosize and Sort capabilities.
There are also some security enhancements for Cross-Domain networking and duplex communication. If you not sure about what is it, see this and this post.
Also now you can work with LINQ-to-JSON, ASO.NET DS and SOAP-based data sources.
In additional, there is new XML-based format for DeepZoom MultiScaleTileSource and MultiScaleImage controls.
Have a nice day and be good people.
June 4th, 2008 · Comments (2)
My TechEd ‘08 presentation slides download
I do not know why, but for some reason in development section of TechEd website there are only two recording and no presentations. I do not want to wait for them to upload (we sent all presentations a while ago), so here it comes. My TechEd presentation DEV335 – Game Development Using Microsoft’s Latest Technologies. I have no recordings by now (so pity), so you’ll have to wait for Microsoft to encode and upload it. Upon it will be done, I’ll publish it here.
There is no real reason to upload samples – they will not work without all environment we had there.
Download full slides from my TechEd presentation (PPT 7,165 KB) >>
If you have any questions, feel free to contact me by using contact form or LinkedIn profile. You also can send me a message by twitter

April 14th, 2008 · Comments (3)
TechEd behind the scene – System setup
Alex posted his video about how we setup the most complicated demonstration in this TechEd. Now it’s time (I promised) to post my video about how it was at 6 AM after night party in TechEd.
April 8th, 2008 · Comments (0)
TechEd is over – last TechEd related post
I know, that I made you tired of all those TechEd related posts. So this is the last one (I’ll post full presentation and demo sources later), I promise. Unfortunately, I’ll be unable to attend bloggers’ lunch (my flight is at 8:20 pm), so I want to tell thank to all bloggers, that rapidly posted TechEd related stuff, to all those who worked hard to prepare such event, to all presenters and visitors (do not forget to fill the survey). The event was good. I’d give it 9 of 10. The point missing point for some, who worked not hard enough to prepare and lectures’ start and end punctuality of some presenters. Overall experience was great. You did it! Thank you and see you on next event.
April 8th, 2008 · Comments (0)
Discover other tags
My tools
- .NET Framework Detector
- Duplicate images finder
- Exchange Security Policy for Windows Mobile Devices Fix
- Gas Price Windows Vista SideBar gadget
- Israel Traffic Information Windows Vista SideBar gadget
- Localization fix for SAP ES Explorer for Visual Studio
- LocTester
- RTL and LTR in Windows Live Writer
- Silverlight controls library
- Snipping tool integration plugin for WLW
- USB FM receiver library
- Vista Battery Saver
- WebCam control for WPF
- Windows Live SkyDrive attachment for Windows Live Writer
- Wireless Migrator
- WPF Virtual Keyboard






