Things I Learned from Delphi CodeRage 8

Mostly from CodeRage 8, but some is from my time working for Embarcadero. I believe I’ve presented at every CodeRage, but this is my first time on the other side. It is also the biggest CodeRage by a significant margin. I’m sure the two events are unrelated, but it is still exciting.

  • Delphi can do functional programming, and it is really cool.
  • Cary Jensen is really excited about FireDAC – and so is everyone else, because FireDAC is really cool. He’s so excited he might cut his hair off . . .
  • There are a lot of really smart and very nice people working for Embarcadero.
  • No matter how easy you find it to understand someone, there is somebody else who has a hard time with their accent, speed, or terminology.
  • There is still more that I don’t know about Delphi then I do. And I think that is a good thing.
  • You really shouldn’t use “with” in your code, especially during a presentation that occurred after Alister Christie‘s session on “anti-patterns.”
  • The Tag property is useful, but no one wants to admit it.
  • Delphi makes it easy to make nice UI and ugly UI. I like that it is flexible.
  • If you use something wrong it will be slow. If you test you can probably find a faster way.
  • Two people can present on the same thing and have different sessions while two other people can present on two different things and have surprising overlaps.
  • REST and JSON are great, but XML and SOAP are still around and in use.
  • If you want to scroll it, use a TListView. Otherwise use a TListBox.
  • When it comes to making custom controls, in any framework, Ray is still the guy.
  • It is a lot more work than I expected to run CodeRage, but also a lot more fun.
  • If you know what you are doing, it is pretty easy to access any iOS or Android API from Delphi.
  • You can use FireMonkey to make a pretty good mobile game, but it still isn’t recommended.
  • Encrypt your customer’s data, or you can get a huge fine.
  • Everyone always likes a good benchmark or comparison, but they don’t really tell you anything.
  • David I. really is as great of a guy as everyone says he is, but even 3 days of CodeRage will wear him out.
  • The Android Emulator is really slow and unresponsive, and no one seems to know why.
  • There usually is more than one way to do something. And just when I think I realized a smart way to do something, someone else will point out an easier way.
  • Replay videos are never online fast enough.
  • Making a good video to explain a technical topic is way more work than anyone realizes, even people who have done it a hundred times. And when you are done you are rarely satisfied with it.
  • GoToWebinar is a pain, but so far it seems to be the best option.
  • Even in a pre-recorded video, people will still help you find the typos in your code.
  • Questions can take longer than the session the questions are about.
  • Delphi developers really are amazing!

And some answers to frequently asked questions:

  • The code will usually be on the presenters blog.
  • Replays will be a couple weeks.
  • Turn on “Use Host GPU” in your Android emulator and don’t run your VM in an Emulator. Better yet, buy an Android device. The emulator is slow for everyone, which is why most Android developers don’t use it.

I learned a lot more, but those were the memorable bits that came to mind.

What did you learn?

podcast Video podCast

Delphi Prism Silverlight Replay

My CodeRage 4 session Introduction to Silverlight with Delphi Prism is available for replay (full resolution). Some of the links are there, but there will be more links and more downloads to come. I also formatted the video (reduced resolution) to play on the iPod Touch, iPhone or any of a number of other compatible devices.

Stay tuned to CodeRage 4 the rest of the week.  I have two more sessions coming, and there is a lot of other great sessions there too.

Audio podCast podcast

31 – MonoTouchDevelopPrism

marc hoffman of RemObjects discusses some of the news about MonoTouch for the iPhone, MonoDevelop for the Mac, and Silverlight 3 development, and all with Delphi Prisim.

You can follow the progress of Delphi Prism and the MonoDevelop rewrite in marc’s blog and join them in the newsgroup.

I discovered that EKON 13 is also known as Delphi Live Germany.

Follow along with CodeRage IV.

Audio podCast

18 – CodeRage III Wrap-Up

CodeRage III was a huge success last week. I attended a few sessions in addition to my own, and for the most part, everything ran smoothly. There was one room change, and LiveMeeting disabled audio from time to time, but once you learned how to re-enable it then it wasn’t that big of deal.

I understand Christine and Anders were working really hard behind the scenes to keep it all running smoothly though. At one point Christine’s microphone was unmuted in Room 1 and it was very obvious she was rather annoyed with some of the technical challenges live meeting was presenting.

Delphi Robot Rage was a success, despite LiveMeeting having issues with my video. Seems their codec is optimized for window screens, not 3D game video. Jamie Ingilby took first place with his Delphinium bot, but all the bots performed really well.

In the closing keynote Embarcadero’s Wayne Williams opened up with some pretty dry financials. Basically covering where the economy is headed and that Embarcadero is still investing with 40% on R&D. Additionally he answered the question he keeps getting about when, how and why they are going to kill Delphi. He said they are not. They like Delphi, in fact, before being a CEO got in the way Wayne was a Delphi developer.

I think the most exciting part of Wayne’s talk was the slide marked “The Future” which listed some of the company wide research initiatives underway. It specifically listed Mac, Linux, Cloud, Application Virtualization, FireBird, Touch, 64bit, SMP and Multi-core. When I asked about a Delphi for Mac and Linux they said that today, with Delphi Prism and Mono you could reach Mac and Linux, but in their labs they were working on native support, and that they had a significant head start.

You might recall in my podcast with Nick where there was a question about Linux support again he said that Commodore was going to have a pluggable compiler so one IDE could compile to two different platforms, so it seemed possible that other compilers could be added to support other platforms.

It was great to see Firebird in a positive light again. It certainly looks like it is going to start receiving proper support from Delphi. That is something to look forward to for sure.

There was also an open discussion of subscription model to buy Embarcadero’s tools under. A number of people were really excited about that. Wayne also said there is more focus on the Turbo’s, with the recently announced TurboRuby, and new entry level products planned for mid next year!

Overall, Wayne’s keynote was a huge hit with the chat room. It certainly seems like Delphi is in good hands and headed the right direction.

Nick is busy at work on updated .NET and Delphi native roadmaps, and we can expect to see those soon. He mentioned via Twitter that 64-bit was going to take a bit longer than expected. I would suggest that this doesn’t mean Commodore will be late, but maybe that they won’t include as many other features in it as they had originally planned.

Marco Cantu released his new Delphi 2009 Handbook. He was off to some great early sales during the conference. The PDF version of his book is available to all registered Delphi 2009 users. Marco licensed it so they can distribute it however they please, but Marco figures these are really more advertising then a threat to his sales. I would agree with him. You really can’t beat having a physical book on hand.

Anders has already started posting the replays. If you missed the session on Compact Framework development with Delphi Prism be sure to check that one out. David Clegg shows how to use the visual WinForms designers to develop for the Compact Framework. Also Craig Stuntz’s session on Functional Programming with Delphi was a real eye opener.

Delphi Prism is officially released now, and command-line compiler is a free download. When I was finishing up my Robot Rage session my Prism license expired. Turns out I was still running the beta. I fought with the license for a bit, and finally just decided to use a text editor and the command line compiler. It worked great. So having this command-line compiler freely available is a great benefit. It can be used for open source development, hobbyists, and also be installed on a web server to deploy your .pas files to the server with your ASP.NET solution.

Olaf Monien has a video on how to enable “Sync Editing” with Delphi Prism. It makes use of the free DXCore from DevExpress.  (Sorry for spelling and pronouncing your name wrong.)

Well that is it for this week and our CodeRage wrap-up. I hope you all enjoyed CodeRage as much as I did. Join me next week when I will have marc hoffman back on to discuss the future of the Oxygene compiler and some of the other exciting things that RemObjects is up to.


Delayed Exception Handling

If you caugh the Delayed Exception Handling session, you can download the code.

Audio podCast

17 – CodeRage III and WideOrbit

This is Episode 17 for Monday, December 01, 2008. I just returned from a vacation over the Thanksgiving holiday here in the US. If you didn’t get any Turkey last week, then just send me a self addressed stamped envelope and I will mail you some leftovers.

Today is day 1 of CodeRage, which is going on all day today, so I will keep this really short.R egister for sessions and schedule time this week to attend a few sessions.

First of all, if you missed have missed the fun so far, here are a few notes and impressions. It was really early for me, but I was able to attend in my pajamas, so it worked for me. I counted about 216 people in attendance. They are using Microsoft LiveMeeting this year, which seems to have some occasional compatibility issues with Vista and XP, and doesn’t support any other operating systems. If you connect and don’t hear any audio, then click Voice and Video and you will most likely see an error with a big X. Click the “X” and then click “Join Audio.” You may have to do that a few times, but after that it seems to work well.

I must say I am looking forward to the nice mix of Database and Development sessions I see on the agenda. In the opening keynote Michael Swindell mentioned that there are 2 million Delphi Developers, 1.2 million C++ developers and then I thought he said Embarcadero has a total of 3.2 million customers. Now I realize there is some overlap between users of each product, but it sounds like most of their customers are Delphi or C++ Builder users.

Another interesting comment he made was about the importance of globalization to avoid localize market instability and downturns. Now I am sure this comment was motivated by the fact that Delphi 2009 now has full Unicode support and some new globalization features, but I think it is a good comment none the less.

Finally there were the token Interbase and Firebird SQL questions. DatabaseGear is going to add Interbase support to their product roadmaps, so we can look forward to that. As a nice change of pace Michael spoke positively about Firebird SQL and indicated there would be some good news about Firebird SQL support after CodeRage. A nice change of pace to be sure.

David I and Greg Keller had some demos of their products too. Nick followed that with the RAD Studio Product Address: This includes Delphi 2009 for Win32, C++ Builder and Delphi Prism (with the Visual Studio Shell). Nick has a good blog about Delphi Prism and additionally the Software Assurance emails went out about a day after the product announcement, which is a great improvement.

I am always surprised how many people don’t know what Software Assurance is. Think of buying Delphi like buying a magazine. A new version comes out about once a year, although lately they have been staggering the Delphi and RAD Studio releases. So you can keep buying the individual editions, or if you know you want to get the next version, then you can save money and buy software assurance, which is a one year subscription to all the upgrades at your product level (i.e. Delphi Professional or RAD Studio Architect being different levels.) So you pay a little more for the first purchase, and then you can keep renewing Software Assurance, which continues to give you the new versions for a better price then buying each version individually. I am sure if you talk to a sales rep they can explain it much better than I did, but you get the general idea.

Two things before I let you go: First be sure to check out the Revenge of Delphi Robot Rage. Delphi Prism is now released and you have until Midnight Pacific Time on Wednesday the 3rd to submit your bot.

And lastly, I know a lot of people are looking for work right now, so I wanted to let you know WideOrbit, the company I work for, is now actively hiring Delphi super stars for their Seattle and San Francisco offices. Real quick about WideOrbit:

  • WideOrbit is one of the fastest growing technology companies in Silicon Valley and North America.
  • Our software helps Media companies manage their advertising business
  • Our customers include more than 1200 TV stations, radio stations and cable networks around the globe
  • Our product is the #1 recommended sales, traffic and billing software 7 times running and over 92% customer satisfaction
  • In October 2008 we closed $10m in growth funding
  • We ranked on the Deloitte 2008 Silicon Valley Technology Fast 50 and 2008 Technology Fast 500 Lists
  • Currently there are over 150 employees… and we’re looking for great Delphi developers in San Francisco and Seattle!

You can learn more about WideOrbit on our website, but if you are interested then please email me, or let whomever you contact know that you heard about WideOrbit from Jim McKeeth on the Podcast at I look forward to working with you.

I hope you enjoy CodeRage III and I will have a wrap up session from my impression of CodeRage next Monday. After that we will be back to our usual interview format, although I will be refocused on shorter podcasts.

Audio podCast News

16 – CodeRage, Delphi RobotRage and Technology

I am actually sitting outside a closed coffee shop using their free wifi in hopes I will be able to upload this. I am on a family vacation and I didn’t think about the fact that I wouldn’t be able to easily get online whenever I needed to.

You may have noticed a change in format where I am using a lot of content I recorded from PDC. Well that is because I am busy putting together session for CodeRage III that is coming up next week. This looks to be a great conference. The trick with Virtual conferences is actually taking the time to be committed to attending. When you are still at work or whatever it is just too easy to get busy doing other things. So do yourself a favor and schedule time to attend at least a couple of sessions where you are 100% in attendance with no other distractions. You will be glad you did.

For more information on CodeRage III check out It runs from Monday December 1st from 5 AM to 8 PM through Friday December 5th, so chances are you can find a time that works with your schedule.

Speaking of CodeRage, one of my sessions is the Revenge of Delphi Robot Rage. This is a session where you can create a bot to compete in a 3D arena against other bots that were also created with Delphi. The winner gets bragging rights and a valuable development related prize. This year the arena is Unreal Tournament III, but you don’t need to buy the game to compete. You only need Delphi Prism. Now Delphi Prism isn’t out yet, but this was the first open Beta, and a lot of people were able to get in on the beta, or pick up a beta CD at PDC. If you weren’t able to do that, then you can still download the RemObjects Oxygene trail and use that. If none of those work for you, then maybe you can get creative and find another way.

For more information visit where you can download the SDK. The only requirement is you submit source that can be compiled in either Delphi 2009 or Delphi Prism. You have until midnight Pacific time on December 3rd to submit your robot. That way I will have time to have them face off and record the battle.

For the podcast this week I have what I believe is a real treat. After I finished recording Episode 12 with Nick, marc and Allen at PDC we all started discussing technology, specifically where it was headed and where it had been. This is a real candid conversation, and I happened to record it as well. Keep in mind everyone here was just talking as themselves, and not speaking for the companies they work for, so there are no official statements or anything like that. Just four guys having a nice conversation. We started out talking about how long the 64-bit architecture would be enough before we needed to jump to whatever is next . . .


Robot Rage SDK Available

The SDK / API / Framework is now available for the Revenge of Delphi Robot Rage. Check out the details page.

This time around it uses Delphi Prism and a much better API and Framework based on UT3 for your bots. I am sure you will find it much easier to work with, and way more powerful.

I am still looking into prizes and I need to set the time frame for entries. So much to do, so little time.

Stay tuned for more information and make sure you are registered for CodeRage III. See you at the final session!


CodeRage III Sessions and Registration

David I just posted that CodeRage III sessions and registration is available now.  There are a lot of really great looking sessions there too.

CodeRage III is a virtual conference that runs December 1-5, 2008 and is free to attend, if you register!

Audio podCast

10 – Marco Cantù

Episode 10 is an interview with Spirit of Delphi Award Winner and definitive Delphi author Marco Cantu. This interview was recorded October 10th with Marco at his office in Italy.  We talk about Marco’s new book, Delphi 2009 Features, REST application development, Domain Specific Languages, Generics, Anonymous Methods, Delphi Prism, Native Win32 vs. .NET Development and much more.

Marco will be presenting at both the upcoming Ekon 12 conference in Germany, and CodeRage 3 virtual conference.