Wednesday, June 13, 2007

Exchange Days Two & Three

Well, I got in really late Tuesday night (or I should say early morning) so didn't have time to write anything on Day Two. At least I'm doing better than last year and still doing days two & three while I'm here in the hotel! :)

(updated 6/19/07: I honestly was editing this in the hotel while eating dinner, then sat with a bunch of friends, got sidetracked and well, now it's Sunday and I'm finishing the update. No photos yet, they will be coming hopefully Monday. At least I got one day done on time...)

Excuse me for a moment, my dinner just arrived... mmmmm.... burger....

mmbfr ddwrg prtwd.... D'OH! Sorry, I forgot not to type with my mouth full. ;) Ok, first let me say this was an excellent Exchange! I learned a lot of good things, saw some cool stuff, and had a great time. As always, Wednesday comes way too fast and all of a sudden, Exchange is over. :( Next year they won't be holding Exchange here in the states - it will be in Paris at Disneyland! Yes, lots of people aren't happy about that, we all wonder why they did that. I'm not sure I'll be going because I don't know if my boss will want to pay for that - though they tell me the airfare isn't that bad at all. I did do a quick check and from Portland, OR, the airfare is $3000 - $4000, the flight I would want is $3700 and a direct flight from Seattle to Paris, 9 hours! Maybe I should get my passport just in case...

Ok, so Tuesday, Day Two.
Why do they keep scheduling the first session at 8am on Tuesday (and Wednesday)?! We all went out the night before, stayed out late, got 4-6 hours of sleep, and they want us to be alert and listening to the presentations??? Please, start them at 9am. Somehow I stayed awake during the first session, I was worried I was going to fall asleep and out of my chair. Whew!

DB-7, Moving On Up - Smaller Servers and Bigger Performance.
This was very interesting and compelling. Pretty much he showed that you don't need to buy a big HP/IBM/SUN/etc box, you can get a nice Linux box and get the same OR BETTER performance for a fraction of the cost. Definitely something to think about. Excellent session!

INT-6, Clean Up Your Application - Modernizing Character Code for SOAP, SaaS and Beyond.
This was about moving your old character application to modern stuff things like SOA, SaaS, Web Services, etc. To do this a couple things you have to do: use AppServer and separate your business logic from your user interface. We were told it's not THAT hard, but it's not exactly easy and you won't do it overnight. Do it little by little, it could take many, many months. Another very good session.

INNOV-5, The New User Interface for OpenEdge.
Last year they showed us this and said, "IF this were a real product..." asking us what we thought, if they should continue, etc. Everyone said they SHOULD do this and couldn't wait for it. So this year they showed it again and now it IS a real product! Currently it is scheduled for 10.2, but that could change. What they are trying to figure out right now is what is the minimum they need to be able to release this?

This was really cool! This is based on .NET and you can use almost any .NET control with this - basically if it works in MS Visual Studio with their .NET, it should work just fine with OpenEdge. This is NOT a replacement for the existing OpenEdge GUI. That one will still exist, this is just another option. Many people have said they LOVE the ease of use of OpenEdge, but the look is old and their users/customers want the updated XP look - and now Vista, which this will do. Shelley showed how she recreated Outlook using this new UI. At first we were wondering why she was showing us her email, but then she showed us how easy it was to create that. We also saw a very cool calendar application. This session had a TON of applause, it was very, very cool! With use Eclipse, this looked a lot like programming in Visual Studio, so if you're familiar with that then this will be easy. AND it's a piece of cake to connect up your app to the Progress database. This will be awesome!

DB-11, Moving to OpenEdge.
If you're not on OE 10 yet this session was about showing you the various ways to get there. The simple option is this:
  1. Backup your database.
  2. Run proutil -C conv910 - this will take approx. 5 minutes.
  3. Re-compile your code.
It's really that simple. There are many other things you can do to take advantage of OE 10, such as using areas, records per block for each area, setting some server/client parameters, etc. The main reason most people haven't moved to OE 10 (at least that I've heard about) is the licensing, which is now a lot better, talk with your sales rep. There are a TON of advantages to be using OE 10, performance, better debugging options, in 10.1B there are now VST's for seeing which tables a user/session is hitting, and so many others. AND if you are using SQL connections at all (connecting from MS SQL Server for example), you will see a very big performance increase because they have done some HUGE enhancements to the SQL engine. US Airways Vacations upgraded and were told they'd see a 25% increase in performance. They didn't get 25%, they got 80%! This was a very good session because it showed while there are a lot of new things you can do in OE 10, you don't have to do them all when you upgrade, you can do them later and start getting the advantages now.

Innov-7, Building a Richer User Interface for the Browser.
This was another AJAXish session. There were several last year and several this year. It again showed how easy it is to create rich user interfaces in your browser. There are many who feel the browser is the future desktop. I know for us we probably will not be going with a client GUI application, but we are looking at adding a web interface to at least parts of our application. This was a good technical overview. I knew a lot of it but learned some good things for helping me learn how this technology works and understanding how others are doing it. A friend who was there and didn't know anything about AJAX learned a lot and said this was an excellent session.

WEDNESDAY

INT-10, Understanding the AppServer Inside & Out.
I really don't know a lot about the appserver and this was a very good session, helped me understand how it works and I feel more ready to use it.

DB-17, More Performance Please - Finding and Resolving Performance Issues.
This was really good. One thing I especially liked was how he said to listen to the user/customer, really listen, not just pretend to listen. He really understands how to do customer service which a lot of people don't. One thing he said was to listen to what everyone is saying - users, programmers, dba's - then CONFIRM everything before you start working on a fix. Excellent advice. Then he gave a lot of technical things you can do to improve performance, tools for examining how programs are working, how your database is working, where bottlenecks are. A very good session.

DB-18, Advanced Performance Statistics.
Adam Backman did this and his sessions are always excellent. This one was more advanced, telling how to fine tune everything and get that little bit out of your application/database. Lots of great advice and tips on how to use the Profiler. I can't wait to look at this stuff when I get back!

DEV-21, Optimizing your ABL for Performance - by Gus.
A big tip here was to pick the right things to optimize. Many times people will chase one thing spending a lot of time on one thing and not really gain a lot from it. Run baseline tests BEFORE you start making changes. It is important to know the performance of everything before you start making changes so you can find out how much of a change you made. Another good tip was just because you can doesn't mean you should. XML is very cool, but takes a lot of memory. Don't use it unless you really need to. Lots of other useful things such as why to use NO-UNDO on variables (no writes to the lbi which improves performance), use CASE instead of IF THEN, and doing all ASSIGN's after a record create in one statement instead of many assign's. One reason is each ASSIGN is a database write so there's a performance hit. Two last cool tips were to use shared procedure library's as they save memory, and to use the MIN-SIZE option when compiling your code as it creates smaller .r code. As with all of Gus's sessions, this was excellent.

Innov-10, Getting Started with AJAX.
This session focused more on the tools that are available such as Yahoo Pips, OpenLaszlo and the Google Web Toolkit (GWT). Yahoo Pipes look very cool and easy to use. OpenLaszlo also looks cool creating a very nice visual interface, I'm going to have to look at this one. GWT uses Java. I never looked at this one because I don't know Java. But I was wrong. This is a visual tool and you don't need to know Java, although it does help if you want to modify the Java that was generated. This was a good session, though Ken ran out of time and had to quickly run through the last part of his presentation not going over some of the things he wanted. This happened last year when he gave a similar presentation. I do wish someone would help him learn to either manage his time better or have less he is trying to go through. For me, the GWT stuff wasn't that interesting and I would have liked more on the other two.


That's it for the sessions I went to. I enjoyed all of them except one, which is a pretty good ratio. In the past I've attended several that weren't that good.

The Tuesday night event was going out in the middle of nowhere to some Country/Western thing. It had an Alamo looking front to it, a ceiling, a back, and the sides were completely open. They had a country band, western games such as tomahawk throw, quick draw against someone else, a kinda bucking bronco thing that was a saddle on a barrel (or something like that) hooked up with some big bungie cords so they could bounce you around, and line dancing. They also had a HUGE telescope. That was very cool. They quickly ran out of Corona, but someone did a beer run and we had more. Whew! The food was VERY good! The band was good. I didn't do any of the games - no way was I going on that bucking bronco thing after all that food. In order to keep it cool in the building thing, they had these water misters along the sides. These did a great job but really messed up the photos at night. There was a very fine mist in the air that you didn't really notice, but when using a flash, the flash saw them all. :( The last thing we did was a rodeo. Ok, sorry, but this was lame. They did calf roping where the first rider got the calf around the neck and the other would rope the hide legs. Every time they did this the 2nd roper missed the legs. The barrel riders looked like they were learning how to do it, one horse did NOT want to turn at all. The only good thing was the bronco and bull riding. But even there a lot of the guys fell off quickly, not too many rode for long. Add to a lame rodeo a bunch of people who've been drinking and you had a lot of silly comments from the crowd (and many from me). I'm not a big rodeo fan, but I've been to a few that were a LOT better than this. It would have been better if they just didn't do the rodeo, the rest of the event was fun.

Overall it this was the best Exchange I've been to yet. A lot of stuff that was relevant to what I'm doing at work and things I'm interested in. And as always it's great to see friends, put faces to the names I've seen on the PEG, and meet new people. The hotel was fantastic, great rooms, very friendly people. And unlike Vegas, the session rooms were freakishly cold. It was a little cool (some more than others) but not bad at all. I didn't go outside much so didn't experience the heat - wasn't much of a reason to go out and I was usually busy from the time I got up until I went to bed with either sessions or visiting with friends. Though there was one fun time after the Tuesday event involving the swimming pool, but what happens at Exchange stays at Exchange. ;)