Friday, November 30, 2007

Trying to blog more often

Update: I uploaded the code for my WebSpeed/AJAX demo to my website, http://rich.uchytil.com/progress/ws-schema.html.

I'm going to try and blog here more often, like every couple weeks or something. Things might not be directly ORPUG related, but they will be Progress related. Here are a few things.

Since many people will NOT be going to Exchange in Paris, Progress is looking to have some kind of event here in the US. No official word on if they will, when it will be or what it will be. I will keep you posted.

Progress hired someone to work on Progress.com. He is looking to bring it into the web 2.0 world. He has lots of cool ideas and when some are ready I'll let you know. He has put some photos and video out on Flickr and YouTube. Search for "progresssw".

Our last meeting went really well. I shared my experiences so far in choosing WebSpeed over other web technologies (like PHP), and AJAX. In summary, WebSpeed is less expensive with OE10 than it was with v9 and it's VERY easy since you are programming in the 4GL/ABL with just a few minor changes. If your people don't know the other web technologies, they will have to take time to learn them BEFORE they can actually produce something. With WebSpeed, they can produce something very quickly. AJAX isn't hard. I thought it was very complex and a lot of code. It's not. It uses XMLHttpRequest in Javascript. There are a lot of things you can do, but making your web page load just a part instead of refreshing the entire page is easy. I created a WebSpeed/AJAX example that displays the schema from a database. It lists all the tables alphabetically, click on a table to view the fields, indexes, etc, click on a field to see which tables have that field, click on a table to see that tables details. The AJAX part is clicking the field, it shows the tables by moving down the other fields and not refreshing the page. I realize I didn't create a way to easily go back to the list of tables, and I didn't have time to hide the tables that have that field when you click on the field again. This was more of a proof-of-concept/demo. I think I'll post the code on my website so others can play with it if they want.

I don't have a schedule for the 2009 meetings yet, but our first meeting will probably be the 2nd Thursday in March. When I get the schedule I'll let everyone know.

I want to start charging dues for two reasons.
  1. I would like to have our meetings in other places. In the past we had them at a McMenamins. People liked that a lot because they could get some food and drink. I'd like to do something like that again, but that requires money. Most places have a minimum charge, like $200. If your group doesn't order $200, you own them the difference. If they order $200 or more you don't owe any extra.

  2. I'm thinking of people pay to join or their companies pay, they might be a little more likely to show up. If you pay for something, you might want to get your monies worth by showing up. And for a company, their boss might say, "Isn't that ORPUG meeting today? We're paying for it so you're going, right?" I could be wrong. Other PUG's don't charge and say if they did no one would show up. How much? I'm not sure yet, but it won't be that much. First I have to figure out how to keep the books - others have said to do a LLC so I'm going to check into that.
That's about all for now. As things come up that are Progress related - like webinars, interesting posts on the PEG, etc - I'll write them here.

Later!

Wednesday, June 20, 2007

Next Meeting June 21st!

Just a reminder our next meeting will be June 21st, 2:30pm - 5pm with the first 30 minutes being a meet and chat time, so if you can't make it until 3pm you'll be ok.

map

This will be a recap of Exchange 07. It was a great conference, lots of cool things both new and old. I'm really excited to be sharing them with you! There will be some good performance tuning tips for both the database and the programming language as well as what's new and some other cool things.

We will also be talking about the future of this Users Group. What things would you like to see? What topics? Speakers? What would you like ORPUG to do for you?

If you are having any problems or questions, bring them along and you'll get lots of help. Do you think you might be able to join us?

Please forward this email to anyone else who might be interested.

And please let me know if you plan on attending or not. I got bumped out of our large conference room and need to get a head count. Thanks!


Exchange Photos

I've finally uploaded and edited all the photos I took at Exchange. Enjoy!

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. ;)

Tuesday, June 12, 2007

Exchange Day One

Monday is done and it was a great day! The general session (the welcome session) was really good, I saw some very cool demo's. Apama is really an amazing product, but you need to have a LOT of data (like stock prices) to use it.

First session, RFID & Voice. Not at all what I expected. This was more of a sales pitch. The demo didn't work well and it wasn't until the last 15-20 minutes that the guy finally got into integrating the voice product with OpenEdge - and the very end with using RFID. A major let down.

2nd session DB2, OpenEdge Replication. This was excellent! I learned a lot about how it works, the things it can do, and about OE Replication Plus. You are replicating the database to a disaster recovery database and with Plus you can run reports against that database. However, this is in READ ONLY mode. Also, if you purchase Replication, you don't need any further licenses for the target database.

Lunch wasn't bad, a nice salad, good chicken thing, and tasty desert.

3rd session INNOV3, Mashup Basics. This was an excellent 50,000 foot view of what Mashups are and what you can do with them. They used the AutoEdge demo to show how to add a Google map to the product. Well done.

4th session DB6, Performance Tuning Made Easy. Adam Backman always puts on an excellent session. TONS of great things here, too many to mention. I have a lot to share next week at our meeting on the 21st and they are things that work for people on v9 as well as oe10.

The Expo. Really small this year, not a lot going on. Spent most of the time visiting with people and a little bit actually talking to some of the booths.

Dinner was excellent at The Keg, then meeting our sales rep with other west coast customers of his, and now to bed. Long day but very productive.

Oh, and Sunday was the workshops. The OE Architect workshop was an excellent 50,000 foot view of what you can do with Architect, I learned a lot and enjoyed it a lot. Hopefully next time they'll add some more that focus on one piece more.

The OO Programming workshop wasn't that good. Too much working in groups where all of us were confused, not enough hands on, and while I did learn some, I'm still in a big fog about why to use OO in Progress.

Lastly, next years Exchange won't be here in the US, it will be in Paris!!!! A LOT of mixed reactions to this, most people I chatted with who are from the US said they won't be going next year. I'm not sure if my company will send me or not. Lots of rumors why they did this (save money, etc), but nothing concrete.

So day one is now done and it was an excellent day. Lots more to see Tuesday, I can't wait. Talk with you tomorrow!

Friday, June 08, 2007

Exchange 2007

It's time again for Exchange. Once again I am attending, really looking forward to it. I will try really hard to post daily recaps here for those who are unable to attend, as well as photos.

Our next meeting is an Exchange recap. June 21st, 2:30pm - 5pmish, here at my company, Hampton Affiliates (details to follow). There looks to be some very cool things this year. And there are plenty of things for those of you who aren't on OE10 yet. Progress understands while they want everyone running OE10, a lot of people aren't there yet for one reason or another, so there will be plenty of helpful information for non-OE10 people.

At this meeting I also want to talk about the future of this group, what we want to do, things we want to do, etc. I'm here to make this whatever you want, I just need some input. Thanks and talk with you soon!