Acknowledgement
This is the compilation of all Borcon 2004 blogs that I have read regularly during Borcon 2004. All articles in this compilation belong to the authors. Before putting all these articles together, I obtained permission from all authors. Please contact the authors regarding their articles.
Following are the authors who granted permission to use their articles, listed alphabetically:
Serge Dosyukov - http://borcon2004.blogspot.com/
Euan Garden - http://sqljunkies.com/WebLog/euang/
Nick Hodges - http://www.lemanix.com/nick/
Robert Love - http://peakxml.com/
Jim McKeeth - http://www.bsdg.org/
Dave Nottage - http://www.teamb.com/davenottage/
Craig Stuntz - http://blogs.teamb.com/craigstuntz
Joe White - http://excastle.com/blog/
I receive no benefit or compensation from any authors, from Borland Corporation or from any other parties for this compilation. This compilation is given to the Borland users. Thank you to all bloggers for their excellent reports. If you find any mistakes, please let me know.
Table of Contents
1. Preconference.
1.1. Tutorial Sessions - day 1 - extended and corrected.
1.2. Get Ready for Microsoft .NET Framework 2.0.
1.2.1. Live from Danny's Talk.
1.2.2. Delphi Syntax for Generics.
1.2.3. 64 Bit Changes for the CLR.
1.2.4. Danny's .NET 2.0 talk: Part One.
1.2.5. Danny's .NET 2.0 talk: Part Two.
1.3. John Kaster's Diamondback talk.
1.4. Fetch my Lino.. and drive me to ASP.NET.
1.5. ASP.NET 2.0 overview session.
1.6. Tutorial Sessions - day 2.
1.7. Test Driven Development with Charlie Calvert.
2. Borcon Sunday Sessions and Events.
2.1. Sunday at Borcon.
2.2. Borcon Day 1 - Sunday.
2.3. Opening Session.
2.3.1. BorCon 2004 is opened - short.
2.3.2. Opening Ceremony.
2.3.3. Unleash the Power - From the BorCon Opening Session.
2.3.4. Opening session and opening keynote.
2.3.5. WHOO! *Happy dance*.
2.4. Borcon Opening Keynote.
2.4.1. Live Blogging from the Borland Keynote.
2.4.2. Welcome Keynote and Reception.
2.4.3. Live from the Opening Keynote.
2.4.4. Diamondback at Opening Keynote.
3. Borcon Monday Sessions and Events.
3.1. Borland Keynote.
3.1.1. Monday's morning keynote session.
3.1.2. Monday Morning Session.
3.1.3. Diamondback and JBuilder 2005.
3.1.4. Kylix community project.
3.1.5. Unit Testing in Diamondback at Monday General Session.
3.2. What's New in Diamondback.
3.2.1. What's new in Diamondback - Allen Bauer.
3.2.2. What's New in Delphi with Allen Bauer.
3.2.3. Allen Bauer's "What's New in Diamondback" session.
3.3. More New IB 7.5 Performance Monitoring Features.
3.4. Microsoft Keynote - from Borcon.
3.5. Delphi 8 and SQL Server Yukon.
3.6. Borcon Day 2 - Monday.
3.7. NDataStore.
3.7.1. New Borland Product: nDataStore.
3.7.2. NDataStore.
3.7.3. NDataStore.
3.8. Refactoring with Jim Cooper.
3.9. What's New in the Delphi Compiler.
3.9.1. What is new in the Delphi Compiler - Danny Thorpe.
3.9.2. Danny's "What's New in the Diamondback Compiler" session.
3.9.3. What *wasn't* in Danny's Diamondback session.
3.10. DiamondBack Preview.
3.10.1. DiamondBack preview - tonight session.
3.10.2. Live From the Diamondback Preview!
3.10.3. Diamondback Preview Session.
3.10.4. Diamondback Debugging.
4. Borcon Tuesday Sessions and Events.
4.1. RemObjects at BorCon.
4.2. Overview of InterBase 7.5.
4.3. Borcon Day 3 - Tuesday.
4.4. Creating Custom ASP.NET Components with Nick Hodges.
5. Borcon Closing Sessions.
5.1. BorCon 2004 closing session.
6. Resources.
Serge Dosyukov
From a variety of sessions I .ve choose two:
Bellow is a little about first
I think it was a great session. Yes, there is not enough time to cover .Net security in 4 hours, but Steve did great presentation.
He covered main aspects of incorporating security context into your application.
Next topics were included:
What is good about all such sessions, it gives you an idea where to look and what to expect. It gives you a starting point from which you can elaborate and come with a solution you need.
Note You might be surprised, but you will see a lot of Diamondback (Delphi 9) or Delphi 8 during a sessions which are in any way related to .Net and require some code samples. Almost all demos are done within them . you can see C# or ASP.Net code, Delphi.Win32 or Delphi.Net. I think this is showing a big effort of Borland in promoting a new version of Delphi or Delphi in general. I will encourage you to look at these products today and as soon as it (Delphi 9) will be available for evaluation.
Second session by Robert. Great session! Tutorial provided a basic coverage of main elements on how XML is used throughout MS .Net Framework. All samples was done using Delphi for .Net (Delphi 2005 or Delphi 9.0, I really do not know what it will be at the end, I like 2005 better). Robert cover main aspects of use of XML from application: reading and writing from/in XML document, validation, and transformation. What I personally found handy . it is how any Delphi class can be easily serialized via XML by using XMLSerializer. It is easy and fully customizable. Great addition for Delphi component streaming.
posted by Serge at 2:39 PM
Nick Hodges
Okay, folks, I am sitting here in a conference room with a couple of my TeamB mates. Danny Thorpe is standing on the podium getting ready to give a four hour tutorial on the topic of .Get Ready for Microsoft.Net 2.0 .. I think in the interest of being on the cutting edge, I am going to give a shot at live blogging his talk. How does that sound? We'll see how it goes, eh? I have a personal rule: If Danny's talking, I listen. And now you can virtually .listen . as well. Keep hitting refresh, as I'll be updating this all morning.
Things will be getting underway here in about 15 minutes.
Danny is talking on the new Dotnet framework, .Whidbey .. He specifically says he's not talking to the MS marketing slides, but to the technical end of things. (Not a surprise, as Danny doesn't suffer marketing well, I don't think....)
Danny is pointing out that Avalon will be available on XP eventually, as it has been decoupled from the release of Longhorn. Interesting.
Danny points out how there is a blurry line between what C# is and can do, and what the CLR/Platform does. As a Delphi developer, he's far more interested in the platform.
Driving Factors for 2.0
Improve Security -- MS did a complete audit of their codebase to improve security of the core infrastructure.
Improve .Host Control . -- i.e. improve the ability to host CLR-based assemblies.
Improve Performance and memory use.
Danny points out that 2.0 development is really being driven by Yukon/SQL Server -- that the needs of what they want to do with Yukon is what is driving the development of 2.0.
CLR Architectural Changes
Generic Types are probably the most significant change.
Large increases in CLR Host capabilities
64-bit platforms will be released only on the 2.0 platform, including Intel Itanium II, AMD64
Improved Compact Framework support -- less .Hackish . particularly for the design environments. Danny says that Borland is .very keen . to support the CF in Delphi, and they are continuing to work with MS to work this issue out.
C# Language Changes
Generic Types, Partial classes, Anonymous Methods, yield iterators
Danny points out again that there should be a clear difference between CLR features and C# features, but that the line is alway blurred, especially in the press. He is showing us an example of C# generics, and discusses how they can actually improve codegen and code savings. Danny says Delphi will implement the 2.0 generic model. Methods will be able to declare generic types as well. Danny says that the Delphi syntax will look almost the same as the C# syntax. Generics will allow things like generic TList implementations to manage specific types and reduce the amount of typecasting needed to manage lists of pointers, etc. This will be really cool I think.
Anonymous methods: I confess I can't understand exactly what this is. It seems like a different kind of polymorphism, where you can declare a method that will get .filled in later . sort of like an abstract method.
Partial Classes: You can split a class in half, with multiple source files implementing parts of classes. You'd then separate out machine generated code from user generated code. (Think of, say, the ugly .InitializeComponents . call that does what the DFM in Delphi does. That code would end up in a different file that would be .hidden . or whatever. Code folding apparently isn't good enough here. ;-) In other words, your event handler code would be in one file, and the changes made in the Winforms designer would get put into another file. Another good example is, say, an ActiveX generated unit that you might modify, and then lose your modifications when the file is regenerated. (Editors Note: This is the kind of thing I hate -- this is a lot of work just because C# has this crappy model and no DFM files.)
This also means that ASP.NET will have a sort of .code-beside . model, instead of .code-behind .. Partial classes will be used to augment your source. The ASP.NET framework will actually have total access to your classes, because they are declared as partial classes.
New Iterators: The ability to .yield . back in the middle of iteration to present data to the caller. Think about the ability to iterate over a dataset, with the iterator being able to return each row for modification.
VB.NET Language Changes
They will be able to access, but not define, generic types
Partial classes
Operator Overloading
XML DocGen
Edit and Continue Debugging (Yuk! Is it just me, or is this a catastrophically bad idea?)
I'm not going to bother talking about the C++ Language changes. I find .Managed C++ . to be one of the ugliest, silliest ideas in all of the programming world, so let's just pretend that it never happened, okay?
Danny is now entering into the Will DeWitt/Dennis Landi portion of the talk, and discussing the 64-bit end of the 2.0 framework.
Danny's pointing out that Delphi will support the CF framework and the 2.0 Framework as soon as possible, but that they are in beta, and thus a real moving target. He points out that with the 1.0 framework, the metadata streaming was totally changed late in the beta, and something like that causes big problems for folks like Borland. They plan to do a Delphi release that will synchronize with the 2.0 framework when the 2.0 framework is released. Danny expects that to be .summerish . in 2005.
He's now talking about how generics might be implemented in the Win32 compiler. He thinks that they might be able to do it -- they have a plan. They'll implement it in .Net first, and then give it a look. It will probably be a sub-set of the .Net version, and not a complete implementation.
ASP.NET 2.0
Okay, back from the break:
Yukon/SQL Server
Compatibility with 1.1?
What does this all mean for you?
posted on Saturday, September 11, 2004 9:27 AM
Robert Love
I am sitting in Danny Thorpe's session on CLR 2.0, and did not want to wait to post this little tidbit. Mentioned that this would be in the product in 2005.
Delphi Syntax for Generic Types will be:
type
TFoo
private
data1: T;
public
function SomMethod(param1: INteger; Param2 :T) : Integer;
end;
function TFoo
begin
end;
var
Foo : TFoo
posted on Saturday, September 11, 2004 7:46 AM
Robert Love
JIT compile IL to native 64 bit instructions, will be optimized to specific processor type.
Sizeof(Pointer) <> Sizeof(Integer)
IntPtr type 64 bits wide
P/Invoke only works into unmanaged Win64 code.
Delphi note:
Delphi 8 with Winform's work fine with no changes.
Delphi with VCL will need some changes. Specifically because THandle is declared as Cardinal (32bit) in many places and it's size changes. So this needs to be addressed before the VCL will work on 64bit.
posted on Saturday, September 11, 2004 8:46 AM
Joe White
Covering Danny Thorpe's preconference tutorial on .NET 2.0. This is the first of two parts (I'm writing this during the break).
.NET 2.0 is a topic that's already been covered fairly exhaustively by Microsoft and others. And yet, I've already taken two and a half pages of notes.
Highlights so far:
More detailed notes follow. They may bore you.
class Boo { ... }C# has a devil of a time figuring out the difference between the last two lines, because when it's parsing the input, it doesn't know what the tokens mean. Delphi won't have that problem, because it knows that Boo is a class name and a is a local variable: there is no ambiguity.
void Foo(System.Type x) { ... }
void Goo(bool x) { ... }
Foo(Boo);
Goo(a < b);
posted on Saturday, September 11, 2004 10:29 AM
Joe White
Covering Danny Thorpe's preconference tutorial on .NET 2.0. This is the second of two parts (the first is here).
Nick was blogging Danny's talk during Danny's talk. Either he found an outlet, or his laptop has waaay better battery life than the one I've got. So his blog entry is also worth a read.
Okay, picking up more or less where I left off before the bio break:
And there you have it. Much info, much trivia, and I didn't blog the stuff I wasn't interested in, but this should be of some interest to the folks back home. Share and Enjoy.
I have another three pages of notes about John Kaster's talk about Diamondback, but I'm going to go get some food, and blog about his stuff later. (I will write about it later; whether I blog about it tonight or tomorrow depends entirely on wirelessness.)
posted on Saturday, September 11, 2004 6:27 PM
Joe White
Covering John Kaster's preconference tutorial on what's new in Diamondback (that which we dare not call Delphi 9).
This talk was yesterday afternoon, but there wasn't enough convergence of wall power and working wireless to post it until now. So, here goes.
Before he even started the session, I caught a glimpse of Diamondback running on his machine. The first thing I noticed was that there are three tabs at the bottom of the editor window: "Code", "Design", and "History". Very intriguing.
His handouts were hefty. 65 sheets, 128 printed sides front and back. The first 19 pages (not counting the cover page) were just an outline.
He did not go into detail on all of this material. He had to rush a fair bit to cover what he did. (Pity, 'cause there was some really good stuff. I wish they'd split the not-really-Delphi stuff, like ASP.NET and ECO, into a separate presentation to give him more time.)
Once again, I had two and a half pages of notes before the break. Once again, I only added another half page after the break (when he was covering ASP.NET and ECO). Good stuff, though.
Still no official word on timelines, not even "you'll hear about it at the opening session", so I assume that (a) it's still a ways off and (b) management has sent out a decree that Thou Shalt Not Discuss The Release. It's too bad. If they were selling Diamondback today, there's no question in my mind that we would upgrade everyone in a heartbeat.
posted on Sunday, September 12, 2004 11:32 AM
Re: John Kaster's Diamondback talk 9/12/2004 2:02 PM Max
-Not in Diamondback/Win32 (but maybe in future Win32 compilers):
Dave Nottage
OK, it's a corny title.. so sue me ;-)
I haven't touched ASP.NET much yet, but Lino's session ASP.NET: Fasten your seatbelt has convinced me I should do more. This is my first and only tutorial at BorCon this year, and it included a look at Diamondback, which confirmed that C#Builder is included with it, at least in the build shown here.
Some interesting points I noted from this session:
MS's Reporting Services - apparently you can throw away all your other (web-based?)reporting systems. This one rocks. Something to investigate anyway.
Cookie based session management is a thing of the past with ASP.NET 2.0, and it's all built-in.
Falafel Software believes it should give away it's web development framework to web developers. How cool is that?
Nothing much else to report that I can remember right now. Tomorrow is a rest day for me, other than the opening keynote if I decide to go, and the reception Sunday night.
posted on Sunday, September 12, 2004 4:43 PM
Dave Nottage
I firstly apologize for the lack of blog entries. This is my partners first trip to the US, and I wanted to make sure she had things to do and felt safe about going here and there. In addition, a friend of hers perished in an helicopter accident yesterday, so I've cut my sessions down today to one: ASP.NET 2.0
ASP.NET 2.0 has a lot of cool new features.
There are new classes that help you manage sessions, information about users of your web applications including membership, role management and personalization. It also provides APIs for site navigation, caching of database access and configuration management.
It also comes with an MMC snap-in for managing your ASP.NET applications, rather than having to make mods to web.config.
.Page Framework . features of ASP.NET 2.0 include:
Brian Goldfarb whizzed through some demos of the page framework features, from which he built a website complete with site map, login/logout/registration, role managed users, data presentation, navigation and manipulation, all without needing to write a single line of code. Customization of themes at runtime needed just a few lines of code. The sitemap was built by manually editing the sitemap data, however I wouldn't be surprised if this can be done automatically through the IDE in the release version.
He mentioned that the build he was using is beta 1, and that beta 2 should be out soon.
Something that came out of the demo that has been discussed on the newsgroups before is automatic case-matching. I become annoyed when I see code that doesn't match the case of the original declaration, however it's something I've been against making automatic in an IDE unless it was optional. I'm rather warming to the idea now :-) eg if I declare a symbol as
Foo: integer;
I'd like the IDE to automatically change the case of references to that symbol, eg
for foo := 0 to MyList.Count - 1;
changes to:
for Foo := 0 to MyList.Count - 1;
posted on Thursday, September 16, 2004 10:14 AM
Serge Dosyukov
Session #1: Many of us start a day with session which became classic of BorCon . Delphi Tips and Techniques by Brian Long. I think everybody enjoyed Brian .s British accent. ;o)
As usual we see some nice ways to add homey touch to your Delphi IDE (such as make visible some hidden menus, make your hints nice and colorful, some undocumented registry keys and more. Because during a session Brian used DiamondBack attendee were be able to feel a new flavor of new Delphi version, see new features and language extensions.
Session #2: My big .thank you . to Kenneth Faw, Pillar Technology Group, one of the favor presenters during BorCon (6 sessions). He did talk about SOA (Service-Oriented Architectures), not a web-service aspects of it (many of us see SOA from this perspective only), but as a full architecture for enterprise applications (remember CORBA?). Even it wasn .t many people during a presentation, I think it was GREAT. My opinion, Kenneth should have this session presented during regular tracks and for bigger auditoria. As soon as people go to enterprise market they start to make (in many cases) same mistakes, over and over & Going through major aspects of SOA architecture, Kenneth included many real life samples of building enterprise application in .Net and Java environment.
If you miss a session, talk with Kenneth, you will find what you can get many good ideas. It might lead to a consulting contract with Pillar TG... or might be not... ;o) Anyway, it was gooood.
posted by Serge at 1:10 AM
Jim McKeeth
Charlie Calvert presented a preconference tutorial on Test Driven Development.
You can get to the presentation, code and notes by visiting www.elvenware.com. This is a subset of the information available there along with some of my impressions and interpretations.
Unit Testing is not tied to any methodology, but it works well with a number of agile methodologies. Related technologies include Patterns, UML and especially Refactoring. In fact you shouldn't refactor unless your code is well covered by unit tests.
A side effect of complete unit tests is they provide a specification and documentation for the project. If the tests are all created first then they provide the specification and measurement of progress on the project. When the tests pass then the requirements are complete, and the tests document the routines. Programmers would rather write and read code instead of specifications and documentation, so if a unit test, being code, provides documentation and specifications then the programmers are more likely to create documentation and use specifications. If the tests pass, and they are well designed, then they provide current documentation.
During the development process unit tests provide rapid feedback since you can run your tests early and often. This can let you know if your changes break another part of the program. It can also provide feedback to the users.
Creating the test first - that exercises only what is needed - and then a stub for the method (resulting in a test failure), then only adding the
Reasons not to Use Unit Tests
Assuming you already have reasons to use it. Don't read these reasons unless you already have reasons to use unit tests. Don't let these reasons talk you out of if completely, but just so you have your eyes wide open before going in, and also are willing do what it takes.
Unit Testing
Setup and Teardown is run before and after each test method. Tests should be discrete and independent so the order of the tests doesn't matter.
Tests should be named Test* or otherwise meet a specific syntax as expected by the framework.
Automate your tests to run as a console application, then grep the results for failures. Or some other automation where you will be notified of a failure. Tests should run during the night and multiple times during the day.
Philosophy
Four variables
Let your users / management pick 3 items. The 4th one is the flexible and the developers set the level on.
XP
Unit testing is required for the other features of XP. Everything should be tested. You will write the test first, then the code. The tests should run multiple times per day.
Refactoring is the process of improving existing code. Refactor code to make it simpler and more flexible and reduce the costs of change. You need unit tests before you refactor. Refactoring is about improving design without adding new features.
Keep code as simple as possible. Never write more code than the minimum you need to make it work. Start out with the assumption there is a simple solution. If it is complex then break it into smaller pieces.
90% is easy and 10% is hard. Try leaving this difficult part out based on the concept that it will result in a more stable program in much less time for less money. If there is a choice between coding for a contingency now and doing the minimum then just do the minimum now.
With unit testing and refactoring then dealing with these possible future issues (the last, expensive 10%) can be done in the future at a much lower cost. You may never need that last 10% so you have saved the time and money. If you do need to add it later then you only pay the cost when you need it. Expect change and know that it will come, so you really cannot plan ahead (adding features for the future). Do it simply today and keep it so you can easily change it tomorrow. Make little tiny changes, iterative development, release often
Code that is easy to test is easy to use. It should be encapsulated and uncoupled.
posted by Jim at 9/19/2004 06:59:46 PM
Nick Hodges
I just got done giving my tutorial on Building ASP.NET Controls. I think it went pretty well -- I hope so. It's sometimes hard to tell. I was concerned going in that I didn't have enough material, but it worked out almost perfectly. I could have used maybe 15 minutes more, but I did manage to at least cover everything, however rushed at the end. I was using Diamondback for the demo, and it worked quite well -- only had to restart once, and I should have known better. getGiving a tutorial is a lot of work and I'm glad that it is over. ;-) It's also fun. I really like to give talks, and get pumped up when they are over. I'm always in a good mood when I get to teach.
Yesterday I went to Lino's .ASP.NET: Fasten Your Seatbelts . which was well named. Lino started at a hundred miles an hour and didn't let up for four hours, entertaining us with his vast knowledge of ASP.NET. He's done some really cool stuff on his website with ASP.NET, and was kind enough to share it all with us, including the code. Quite a good deal.
Because I went to Lino's talk, I didn't get to see John Kaster doing the Diamondback talk, where I guess he pretty much pulled back the curtain and showed all the amazing new features. Looks like Joe White has a good summary. What do I like? I like the Refactoring, the History view, SyncEdit, and integrated Unit Testing.
Tonight is the opening keynote. If I can get a wireless link in the general session room, I'll liveblog. Otherwise I'll take notes and post them after. I'm hoping that some of the questions for Dale are interesting and, ahem, shall we say .probing ..
posted on Sunday, September 12, 2004 2:12 PM
Euan Garden
(Catching up with actually posting my blog notes)
Arrived Sat night, it was a nice quiet flight down from Seattle, I was able to get a row to myself and an empty row in front of me so I was able to work on my slides all the way down, although it was pretty bumpy. Might have gotten a little carried away on the flight as I have 65 slides for a 1:15 session which has a ton of demos, oops.
One of my demos is for the Microsoft Keynote on Monday, I'm doing this with Borland's Danny Thorpe I managed to track him down this morning to chat through the demo(and get some help debugging the delphi code for the demo), Danny's a pretty chilled guy so we discussed some ideas for the demo and decided we will make it up partially as we go along.
I must be getting old, I went to check out the MS booth in the show hall and instead of looking to see if we have any cool demos or giveaways on the stand, I looked to see if we had paid for the same .super padded . carpet as last year :-), luckily we do so my back and knees might actually survive doing booth duty for the next 3 days. However if you are at San Jose airport on Wed night I'll be the one limping as I am bound to be in pain by then.
I bumped into Lino, Brian and others from Falafel, they have sporting theme going on their stand this year, they also have yet another venture, CodeFez. I'd swear that Lino has more subsidiaries than MS!
Seems like Nick has been having more luck with wireless than me and has been live blogging the pre-conference sessions.
After a short spell on the booth(come and get your free SQL Server 2005, B2 T-Shirt while they last!), we headed off to the Borland Keynote. This is very unlike an MS keynote, it involves the VP for Developer Relations and the CEO getting up to some antics on stage, generally involves a T-Shirt cannon and some awards for customers and partners. This year they showed a video of the next version of their Windows and .Net IDE, even with my glasses on, sitting in the 3rd row it was fuzzy so it might be time for the annual eye test! The new CTO also showed off some long term thinking they have been doing on Software Development Optimisation(SDO) it was cool to see a bunch of BI being used, including some very soothing visualisation hardware. After the session we all headed off for the welcome reception.
I headed off for the rehearsal for Rick La Plantes keynote. We ended up doing it in his hotel room, which was bigger than the meeting we had booked. This was the biggest hotel room I have ever seen in my life, it must have had more square footage than my entire house, good job Rick was only there for 20 hrs :-)
Danny and I walked through our demo for Rick, plus the Borland and MS marketing folks, everyone seemed happy so we headed out, however we came up with an idea to add to the demo so looks like a late night ahead, it will be very cool if we can do it though.
List of bloggers from borcon with far more detail than I have:
Plus the annual tradition of Dr Bobs conference report
posted on Tuesday, September 14, 2004 10:37 PM
Serge Dosyukov
BorCon is opened. Some people was shoot during a presentation. Just joking ;o)
Great presentation, many people, big party after, casino, good music by great band, Dale Fuller played some music for us and through some gifts to us.
Read more in Robert's log here or Nick's here. Check others logs from a blog list, you will find more.
posted by Serge at 1:19 AM
Nick Hodges
Well, here I am at the Opening Ceremonies, front row with the Advisory Board folks. I can't get a live link to the wireless network, so I'll have to .Delay Blog . tonights event, though those reading it after the event will get the .Live Blog . feel.
The main hall is a bit smaller this year, but it is crowded, and there's a festive atmosphere as we wait for David I and Dale to come out . as they always do. There are a couple of trendy looking podiums up there, and I half expect David I and Dale to out and play a little techno-pop.
David I has just come in from the back and is .working the crowd ., dancing and getting us all to clap. He's tossing a few t-shirts to the folks, and just gave me a big high five! You haven't lived until you'd seen David I dance and jump in the air. It is a sight to behold. Two punked-out girls just jumped out on stage and danced with David. I am speechless.
There's a pretty cool video playing touting Borland's .Power to create, innovate, anticipate, execute, and deliver results .. The motto this year is .Unleash the Power .. The video was quite well done.
Hey, David I's mom is here. That's cool!
David I points out that this conference is one of many. There's the European Conference at the end of the month, and one in India, China, France, and Tokyo.
David is touting the keynote tomorrow morning, exhorting us to be there and not to miss it. Tuesday is the obligatory Microsoft keynote, and Wednesday is the obligatory Sun keynote. Might be interesting, you never know. ;-)
The special event is once again the Tech Museum. I am totally fired up for the table full of Hostess products. The man who invented the Ho-Ho deserves some sort of Nobel Prize for Gastronomy. If they don't have that award, they should invent it for him.
David I just introduced Dale. He's going to talk on Borland's .Vision for the Future ..
Dale's Talk:
Dale just brought up Pat Kerpan, the CTO. He's going to talk about some .concept products .. His stuff:
Log.Sec Corporation won .Application of the Year ..
Hewlett-Packard won an .Application of the Year . award as well.
And so did QMedtrix for a Delphi application that manages medical billing product called BillCheck.
The Partner Solution of the Year goes to Dunn Solutions Group.
The Trainer of the Year goes to Tom Margrave from Orasi Software. (He's a StarTeam trainer).
The Technology Partner of the Year goes to four folks: AutomatedQA, BusinessObjects/Crystal Reports, Segue Software, and Woll2Woll Software.
The University of the Year award goes to Carnegie-Mellon. Borland gave them $1,000,000 bucks! Wow.
The President's Award . i.e. The Big Check to An Employee . goes to Allen Bauer. Very well deserved. Allen is a great guy and a dedicated Borlander.
posted on Sunday, September 12, 2004 8:26 PM
Robert Love
I am sitting in the front row of the open session this year there are some tables... I only can assume to make it easier for us to blog... ;-)
I am sitting next to Marco Cantu, he has a camera and you can see pictures of the session as it occurs!
The session started with David I dancing through out the crowd. Then they began tossing Green T-Shirts. David I has never looked better ;-) you will have to check out Marco's Site in a few minutes to understand why.
They reminded of several key sessions. Stop back by here on Monday Night. 8pm MST - where I will be in the Diamond Back Preview and Meet the Team sessions.
David welcomed Dale Fuller, CEO of Borland, his 6th BorCon session since starting with Borland.
Dale Fuller recommitted the promise his original promise not to forgot the core of there business... The Developers!
Dave I.. showed a video previewing Diamondback. Here is what I caught, it was going by really really fast!
Dale Mentioned the following
1/3 of all Development Projects are never completed. Everything resolves around the .Code . and Borland's Tools that focus on business are designed to improve the process of getting to the .Code. .
Then the CTO was welcomed out (Missed his Name)
They showed ideas on how you might want to tracking of software development. I got the impression that something big was going to be shown tomorrow morning.
Then they started to present the Annual Awards
Customer Application of the Year
Partner Solution of the Year
Trainer of the Year
Technology Partners of the Year
New Award This Year: University of the Year
Then they received a $1,000,000 check as the award. The Dean was able to to talk after the award and he mentioned that his students like to use Borland products.
President's Award
Allen seemed happy the check associated with his award.
Then Dale came back out with the T-Shirt Cannon!
Then they let us go for a party!
posted on Sunday, September 12, 2004 4:03 PM
Joe White
I'm posting this a little late, since Nick already posted about this stuff. I'll just add on to what he had to say.
Opening session (Sunday night)
There was the obligatory light show (the lightning effects were pretty cool; I wonder what kind of equipment they needed to make that work), techno music (they should sell the soundtrack), and abstract computer-generated videos (I particularly liked the mood-lit clocks and the plasmafied ASCII). It was interesting to watch DavidI getting bouncy. And the dancing girls were an interesting bit of spice, with their 80's hair, and what couldn't exactly be called miniskirts . they were really more like mini denim loincloths.
This is Dale's sixth BorCon, DavidI's 19th, and DavidI's mom's first. (He apologized to her about the dancing girls. It's not clear whether he actually even knew about them.)
The new buzzword is "Software Delivery Optimization", which extends ALM. They basically make it a continuum:
The basic idea is to extend the process up to the decisionmakers, and make sure they're involved in knowing what the costs and risks are of changes. I'll be interested to see what all they come up with for this.
They pointed out that people have tried this before, with things like CASE tools, but those focused on the business needs and not the code. Borland, being Borland, focuses on the code and grows from there.
I'll have to see if I can drag our director of development to BorCon next year. There's a fair bit of stuff for him to chew on.
Opening keynote
I agree with Nick: San Jose Taiko's performance was very cool. The song they started with was called "Matsuri", which means "festival".
More about SDO, including the skit. I liked the programmer's comment, when the "project manager" came over and said "good morning": "Why is it a good morning? It's 8:28 am. Talk to me at 10:00."
The interesting statistics they cited:
And the big reason is that management makes decrees that have a huge impact on the timeline (their example was "we need a new feature, and we need to move the deadline up by a month, and we need to take five people off the project" . the end result was "we can do it, but we need to keep those five people on the project").
They also talked about new projects on the horizon: Project Themis (team infrastructure, coming first half of 2005), Project Hyperion (visibility and predictability, coming in 12 to 18 months), and Project Prometheus (enterprise resource planning, also coming in 12 to 18 months).
Lots of buzzwords. I hope they offer some good sessions next year that give us a solid sense of what this stuff means.
posted on Monday, September 13, 2004 2:04 PM
Joe White
Had to blog this first thing.
I have, in my hot little backpack, a two-CD set of the Diamondback Preview. They handed them out to everyone after the What's New in Diamondback / Meet the Delphi Team session tonight. (Now aren't you sorry you missed the con?)
New toy. Hehehe...
Yes, it's beta, yes it's going to do some crashing. But... refactoring, man. Find References. Sync Edit. Debugging .NET and Win32. Delphi and C# in the same project group. I'm going to have some serious fun with this thing, especially after I get back home.
Oh, and a note for the guys back home: The Diamondback Win32 compiler still supports old-style objects. So we could use this thing's refactoring tools to migrate them to classes. How long have we been waiting for that?
Wheeee...
posted on Monday, September 13, 2004 9:40 PM
Nick Hodges
Well, here I am at the morning keynote. I'll live blog for as long as my battery hold out.
There is a wonderful Taiko Drumming Band performing. I love Taiko drumming, and am loving it sitting right here in the front row.
David I just came out and played with them! How cool is that! Very well done.
David just introduced Boz Elloy. His topic .Maximing the Business Value of Software ..
Borland's Vision is:
More on the buzzword of the day .Software Development Optimization .:
He just promised us a .Borland Roadmap in some detail ..
I like Boz. He seems like a cool guy.
They are running a little skit about changing requirements on a theoretical .iPets.com . site. They are showing off their new EstimatePro tool. The Borland System Engineers are doing the skit. It's pretty good, actually. They are funny, but are illustrating the features of CaliberRM really well. They are demoing the process of managing a change and resource change to an application. This is well done.
I'm jealous. They are demoing the Caliber and Together stuff integrated right into JBuilderX. Very slick.
These guys are funny and getting a lot of laughs.
Boz is back now.
He's talking about how developers are the .gods ., creating something out of nothing. But he doesn't think we have all the tools that we need to be successful. We have the development tools, but there is more to success in developing software than just development tools. Software developers may not have the knowledge to properly manage and deploy software.
Three myths of Software Development
What has been done to improve and optimize the software development process? Software optimizes other business processes, but what about our business processes?
If you are in business, you are in software. If you turn off the software, you turn off the lights. Software must be a core competency for all business.
Being good at Software is:
But in fact, the industry is failing at this. Reasons why:
Boz is talking about a lot of good stuff, but it's higher level management stuff, so it's not really anything that can be blogged really well.
posted on Monday, September 13, 2004 8:47 AM
Jim McKeeth
The welcome keynote opened with a rock concert theme. Mostly just a welcome out. Dale renewed his personal and Borland's commitment to the developer and writing code. "It's all about the code" was his mantra for the evening.
This is a picture from right before the keynote began. These are the same photos I used earlier, but they came out much better this time. Christine Ellis is right in the middle with the 2 screens behind the large logo, and then the large screens to either side of the stage.
Dale commented that more companies were standardizing on Borland's tools. Borland tools were involved in sending the rover to mars.
There was a really interesting presentation on the future of software metrics. They took real Star Team data and represented it in interesting ways. They used video morphs of David I, that varied from a devil to an angel, based on the measurement of change requests and code check-ins. They used midi music based on code metrics for submitted code changes. Project status was displayed with ambient orbs. There were a number of the creative ways of looking at development team data.
I actually got a chance to visit with David I. later in the computer lab. He said that the demo actually used real data from Star Team, and the representations were actually based on this real data. Only the user interface was flash. They are going to have parts of it on display in the computer lab, and maybe a write-up on BDN.
Visiting with David I. was a real treat. He is a very intelligent individual, and he takes software development and application life cycle management very seriously. I had heard a lot of comments from him up on stage, and read his "Sip from the Firehose" column, but when you sit down together after a long day around midnight you can tell the conversation is very candid. He is 100% in what he says up on stage and in his commitment to software developers. Borland has a great asset in him.
A panoramic shot of the whole reception hall. To the left we have the casino tables. Then some food (it was everywhere, and pretty good even), a dance floor with a live band and video games (lots of them, everywhere!)
Immediately following the keynote was the opening reception. There was plenty of good food, Casino gambling for door prizes, and dance band (that was rather loud), dancing, and drink coupons. I took some photos and mingled a little bit. I talked to Marco Cantu, Malcom Groves, Dr. Bob, Christine Ellis, Robert Love and Dale Fuller. Not that I expect any of them to remember me.
In my brief visit with Dale he mentioned that most likely there wouldn't be a new Kylix release unless something changed. As we all know things could change tomorrow. He said there just really was very little demand for it, which is unfortunate, it is a good product. It is good to know that if and when things do change on the Linux platform, Borland will have a development tool that can be updated quite quickly.
In the immediate future, if you want to use a Borland tool to develop on Linux you actually have a few other options. I think C++Builder X could be used to target Linux, although the IDE would not run on it. Also JBuilder should run on and target Linux (since it supports a JVM). I don't use either of those tools, so I am not sure on the details. Now with Mono 1.0 release you can use Delphi 8, C# Builder and soon Diamondback to target the Linux platform, just don't use the Delphi SysUtils unit (someone needs to make a safe version of SysUtils to target Mono.)
posted by Jim at 9/19/2004 10:42:01 PM
Craig Stuntz
Wireless coverage is spotty, but I have a good connection now, so I'll take advantage of it. Quinn Wildman recruited me to give a short presentation on InterBase Performance Monitor to his "Introduction to InterBase, Part 2" preconference this afternoon. I showed the first public preview of the new version of Performance Monitor, which includes support for new performance monitoring features in the upcoming 7.5 release of InterBase.
InterBase 7.5 adds two new monioring tables to the seven already available in older versions of IB 7. For those unfamiliar with this feature, it allows you to see ingreat detail what's happening inside of an active InterBase server and what your users are doing, and to take control if necessary. All of this is accomplished by simple sQL statements, though you can use my GUI app if you prefer. The two new tables allow you to see details of triggers in use by the server, as well as a very low-level view of how InterBase is using server memory.
In addition, the database performance monitoring table adds features which allow you to flush the write cache, release server memory, and trigger the sweep via UPDATE statements (or viabuttons on the GUI application.
David I has started the opening keynote address now, so I'll stop typing and listen.
posted on Sunday, September 12, 2004 9:22 PM
Craig Stuntz
David I showed a short video which (very briefly!) demonstrated new Diamondback features. It was hard to make out what was on the screen, but I noticed live help in the code completion dropdown (in a window to the side, which displays info about the method currently selected), and unit testing. Also a JBuilder-like (and very cool) sync edit. Select a segment of code, turn on sync edit, and start typing over an identifier. The change is applied to every instance of that identifier in the selection as you type.
posted on Sunday, September 12, 2004 9:52 PM
Serge Dosyukov
David I have continued a yesterday Dale .s music line and joined Taiko group (Taiko? Read this http://www.taiko.com/rollingthunder.html). Drums - Great wake up call for us.
Boz Elloy holding a keynote session about Borland vision of software delivery optimization (http://info.borland.com/conf2004/keynotes.html).
After short introduction he passed it to a Borland team to talk about SDO in action. As a sample project iPet.com #2 is shown. CaliberRM in a team planning and development...
Nice phone conversations between team members in a mean time. Next step was to address requirement changes to a development team (automatically via CRM notification) to JBuilder X team into UML diagram which then posted into StarTeam Repository (integrated into IDE)... passed to next member of development team (notification and distribution)... two clicks and we have a code created which then passed to QA team which by time Mike come to QA department they already notified and almost done their job... and only need to change status of the request to go to deployment... and... done... version #2 defined, implented and deployed...
And then come to Boz with next presentation about Borland vision for software development ...
Borland saying - it is time to step forward from just development to a fully managed process from definition, design, implementation to QA and delivery... "getting good": decrease cost of the project, decreasing a time of the project, making project successful and delivered at time...
Borland answer to development problems - Software Delivery Optimization.
I am not very fast in typing, so I let other guys to give more details on each aspect in of SDO by Borland... Check blog list for more details. For example, Nick has very detailed blog about a presentation here http://www.lemanix.com/nick/.
Then there were some comments from Borland team about how Borland strategy IS working within Borland software development cycle.
Borland is going to make it available for Delphi developers next year.
Borland plan to change a way how products are packaged and distributed: product line will be more segmented and target specific needs of development teams instead just having Pro/Ent/Arch versions.
New projects were announced which address different part of development cycle:
Prometheus - ERP for software delivery
Hyperion - visibility and predictability
Themis - team-work infrastructure
We will see them integrated in current environment one by one during next few years.
As a main next stage of evolution of Borland platform for 8 months - resource and project management, process automation and optimization (this segments are part of first two project).
Next exciting news was announcment of the new versions of products
Note. Borland finally decided to go with year based versioning
As a closing point of the presentation we saw one of features of upcomming DiamondBack - NUnit based testing
And then, just in case if someone fall asleep during presentation, we had a Taiko team with David I again.
posted by Serge at 9:17 AM
Robert Love
The session just started, and the drums are ringing, after hearing from the Japanese drummer's David I entered the stage and joined them in playing. After a short introduction he welcomed Boz Elroy on stage.
Maximizing the Business Value of Software
It's not just about doing it faster, its about doing it better.
Borland Vision - Long Term Vision
They call this vision Software Delivery Optimization
Then started a funny but realistic role playing situation began to roll out for iPets.com
During this they used the following product.
The Executive request a Change and then then use the tools to track risk, and the progress all the way through the development process to the QA. Then moved it on to Operations, to deploy the product into production.
Lets facts: Forces that impact the gods of software (developers)
Forces come from: Decisions Makers and Operations
Software has been written to optimize most business processes, however software development has been neglected.
Why?
Borland's answer: Software Delivery Optimization
With all of the bullet points above, the short answer is Borland is trying to resolve the problems found in Software development. Software development is process that starts well before it gets to developers and ends out side of the developers with deployment. Borland will be providing tools to resolve these things.
Roadmap...(12-18 Month Focus)
Project Themis - Team-Work Infrastructure (New Product 1st Half 2005)
Project Hyperion - Visibility and Predictability
Project Prometheus - ERP for Software Delivery
Announced the following products
Then they are going to give a quick showing of JBuilder 2005 and DiamondBack (Delphi)
JBuilder
Diamondback (Delphi/C#/Delphi for .Net)
The rest will be shown tonight at the Diamondback Preview.
--over and out--
posted on Monday, September 13, 2004 6:03 AM
Jim McKeeth
JBuilder 2005
Calibur RM (Requirements Management) intgrated client, integrated refactoring that communicates with all developers. Built in support for security audits on the code from fortify - could be run automatically.
Delphi Diamondback
Built in unit testing support. Supports both NUnit and DUnit. Greater functionality for building tests then previously available. Plus many, many new features.
It looks like alll the productivity features previously available in JBuilder are now in Diamondback. Looks like features are being added to both at the same time.
posted by Jim at 9/13/2004 10:41:21 AM
Jim McKeeth
They just announced the Kylix community project. Teaming up between Borland and community leaders to keep CLX up to date.
posted by Jim at 9/13/2004 09:13:47 PM
Craig Stuntz
Michael Swindell demoed unit testing in Diamondback at Monday morning's general session. Very slick. There's nothing added that you can't do already with DUnit or NUnit, but with Diamondback it's much, much easier. Write your class, then complete a couple of wizards to create a corresponding test project and test suite. The IDE generates the testing framework for you, and you just fill in the code for the tests themselves. You can run the tests within the IDE. This feature should significantly increase the use of unit testing in the Delphi community.
posted on Monday, September 13, 2004 2:49 PM
Robert Love
Allen Bauer's Presentation will be focused on the IDE specifically.. the room is packed (standing room only)
Multiple personality IDE
Debugging
Refactoring
SynEdit
VCL Designer
Structure View
Error Insight
Component Palette
Project Manager
File|New Other Dialog
Help Insight
History Tab
Then he ran out time, after talking with him he covered < 20% of what is new!
posted on Monday, September 13, 2004 7:57 AM
Jim McKeeth
Allen Bauer, Borland's Principle Architect, presented What's New in Delphi. I took a three panoramic shots of his session:
This is from my seat in the back row. Robert Love is sitting right next to me, but I cleverly cut him out so his head wouldn't takeover the entire photo.
I took this picture while standing up at the back of the room. In this one you can see the top of Robert's laptop screen, and a ghost image of half of the back of his head. I didn't cut him out so well this time.
Again standing in the back, but this time with the zoom turned on. The guy in the blue shirt laying on the floor to the left is none other then Nick Hodges. Being on the advisory board must be hard work.
And here are my session notes:
Mostly covering IDE features since that is what Allen Bauer spends most of his time working on.
A full house in a double wide meeting room (the biggest they have next to the main hall), and this session is going to be repeated.
Galileo is a multiple personality IDE. Diamondback has DelphiWin32, Delphi.NET and C# in this single IDE. Diamondback is still a little "out there" on the roadmap. It is not pending release.
Debugging
Refactoring
VCL Designer
Lots of cross product pollination between JBuilder and Delphi
Greatly enhanced tool pallet by Corbin Dunn.
If you rename a unit identifier (in any of a number of places) it corrects the name everywhere.
History file lets you compare and backup from multiple history backups
Makes heavy use of community tools - AQTime, Virtual TreeView, etc.
posted by Jim at 9/19/2004 06:37:35 PM
Joe White
Covering Allen Bauer's BorCon session on what's new in the Diamondback IDE.
Looks like Nick wasn't doing a live blog of this one, so I'll post my comments.
Consider this to be a follow-up to my notes from John Kaster's preconference tutorial on Diamondback. I won't cover any of the overlap here.
Allen started by saying he would mostly cover IDE features. Fair enough. Danny (who knows me by name, BTW) will cover the compiler stuff this afternoon, and the "Meet the Team" tonight will cover even more.
He's talking about features in a product that's not finished yet, BTW. Ship dates haven't been decided yet, features haven't been decided yet. This is a very new thing for Borland. (He mentioned that he's allowed to talk about anything except release dates, product names, and bundling/pricing. Very cool.)
posted on Monday, September 13, 2004 10:56 AM
Craig Stuntz
I gave my session on InterBase Performance Monitoring this morning. I was pleasantly surprised to see good attendance in spite of the fact that my session was concurrent with Allen Bauer's "what's new in Delphi" presentation.
In addition to the features I mentioned yesterday, IB 7.5 introduces three new server maintenance functions accessible through simple UPDATE statements against the TMP$DATABASE table (or via buttons in my free IB Performance Monitor GUI application).
You can now:
...via the performance monitoring features.
In addition, the GUI app has been significantly updated by me and by Andreano Lanusse of Borland Brazil. It now features the ability to save the displayed data in several different file formats, show additional columns, hide internal queries and other data resulting from the Performance Monitor app itself, and much more. I'll try and release a public beta soon -- it delivers enhancements for users of IB 7.0 and 7.1, not just 7.5.
posted on Monday, September 13, 2004 3:01 PM
Robert Love
Hopefully this is a good session, I have been bored many times in the Keynote sessions, I like technical details and the industry keynotes tend to be a bit higher level.
Marketing Hype so far with nothing much to report :-(
Talked about the Dynamic Systems Initiative (DSI) which I had not heard before it uses an Xml Schema to keep different systems together. I guess I will to search and read about that.
Then the started talking about SQL Server 2005, and how you can write Managed Code Stored Procedures.
Yeah, Danny Thorpe was just welcomed out on stage!!!
Using Delphi 8 with the command line compiler you can specify .NET 2.--clrversion=v2.0.40607
They compiled a Delphi function into an assembly, then loaded it into to SQL Server and then they wrote the same function in TSQL then they used the same function in a performance test. (i.e. Delphi code as a Stored Procedure)
Execution
Then the mentioned SQL on 64 Bit Platform, and the same Delphi Managed code will run there with no changes.
Then they wrapped up showing CaliberRM integration with Team Foundation Server and MS Project, which seem quite seamless and easy
posted on Monday, September 13, 2004 9:30 AM
Craig Stuntz
I'm watching Danny Thorpe and Euan Garden demonstrate writing managed code stored procedures using Delphi 8 and SQL Server Yukon. Since D8 uses the 1.1 version of the .NET framework and Yukon requires 2.0, this may seem unusual. Turns out all you have to do is specify a switch to the dccil command-line compiler indicating which framework version you'd care to target, and it works fine with framework versions which didn't exist when D8 was released.
I'm wondering what, if anything, this might offer in terms of solving the problem people have been having with .NET 1.1 SP 1...
posted on Monday, September 13, 2004 3:12 PM
Euan Garden
As (un)planned I was up late last night working on a new part of the demo for today, as such I slept in (missing 2 alarm calls, ooops) and missed Borlands keynote, lots of the bloggers I posted yesterday were there though if you want to see the notes.
Met up with everyone for the key note at 10, which left us 90 mins to get setup and tested, had to reboot my laptop a couple of times which was making me nervious but it seemed fine. We rehearsed the new demo, but we forgot to tell Rick we were doing it, woops.
I thought Ricks keynote went very well, he got through a lot in an hour, the first demo that Danny and I did went like this:
For the second demo:
Post Keynote I chilled a little and did some booth duty(my those T-Shirts are flying out the door), then I went to a session on Borlands new data engine for .Net, interestingly enough they write it in a Java and then have a compiler that generates C# code, so it is 100% .Net and can run on top of Compact Frameworks. They are not shipping it yet but they hope to next year.
The first part of the evening was spent on booth duty, answering questions and doing demos, I was glad off the padded carpet by the end. Afterwards I went to the Borland Delphi meet the team session that was packed, as in standing room only, where they showed the new Diamonback Preview release, they even gave out CDx.
So now its time to start prepping for my session at 8(ouch!) in the morning, as is always the case I am adding a couple of demos at the last minute, although I did manage to get my slide count down to 52, shoulf be a snap in 75 mins...
posted on Tuesday, September 14, 2004 10:59 PM
Robert Love
Notes on what features it has:
My personal thoughts: This is a unique and exciting technology to try. There is only one other database that I know of that supports Managed Code Stored Procedures and that was the SQL Server 2005. However, nDataStore has a smaller footprint, and looks like it will work well as an embeded database.
posted on Monday, September 13, 2004 12:44 PM
Craig Stuntz
I'm listening to Steve Shaughnessey talk about NDataStore, Borland's .NET native DB server. Some folks might be familiar with JDataStore, Borland's fast, cheap Java native DB server. Jens Ole Lauridsen took the front end of a Java compiler, removed the byte code emitter, and converted it to emit C# code. Steve and Jens tweaked the conversion until they could build NDataStore from the JDataStore source code. 95% of the source code originates in Java -- the remaining 5% is the binding to the .NET environment which is unique to NDataStore and written in C#. The final product is 100% C# and deploys as a single, 1.1 MB DLL.
There's a second version for .NET Compact Framework which is essentially the same product less fail over, the remote server component, and a few other things which are less useful on a handheld.
JDataStore, NDataStore, and the CF edition of NDataStore use identical file formats. So you can build a DB on Solaris with JDataStore, and copy it onto a handheld device and open it in NDataStore. This is unlike SQL Server's CE edition, where you can't even build a DB on a PC. NDataStore is also smaller than SQL Server CE, both in terms of install footprint and DB size.
Steve showed benchmarks comparing the .NET and Java editions and "native" MySQL vs. .NET and Java. He also compared in-process local execution with execution via the remote driver. The tests were performed using a subset of the TPC benchmarks. He first increased MySQL's low default cache size to a level on par with NDataStore and made MySQL's sort buffer twice as large as NDataStore. He tried with and without logging with MySQL and left sync_binlog at its default of false, sacrificing guaranteed crash recovery, which should help MySQL's performance at the cost of data integrity.
Populate DB
Lower numbers are better
45.596 JDataStore local
51.775 NDataStore local
72.284 JDataSore remote
74.117 MySQL (no logging)
105.390 MySQL (with bin logging)
Create Indexes
Lower numbers are better
2.263 JDataStore remote
2.323 NDataStore local
2.754 JDataStore local
14.761 MySQL
16.233 MySQL with Bin logging
TPC-c New Orders
Higher numbers are better
7796 tpm NDataStore Local
6922 tpm JDataStore Local
6631 tpm MySQL (big advantage due to sync_binlog)
6526 tpm MySQL bin logging (big advantage due sync_binlog)
5988 tpm JDataStore Remote
The Java->C# converter also automatically translated all the tests which have been built for JDataStore over the years.
NDataStore inherits all of JDataStore 7's fault tolerance features, including failover mirroring. JDataStore/NDataStore use a log file, but it's managed automatically -- no administrator is required.
At 5:00 today, Jens Ole Lauridsen will be demonstrating how to use Delphi and C# to write DB triggers, stored procs, and UDFs for NDataStore using both the normal framework and CF.
posted on Monday, September 13, 2004 5:44 PM
Joe White
I had a lot of questions, and they answered most of them right away:
Here's the rest of my notes:
Sigh. If only they'd had this on the market a month ago. The folks back home (especially John and Jeff) will know what I mean.
posted on Monday, September 13, 2004 2:32 PM
Jim McKeeth
Jim Cooper of Tabdee and Falafel Software presented Introduction to Refactoring. Jim is a great speaker. It is understandable why his More Design Patterns in Delphi was so full. If you want to know more about refactoring, then get Martin Fowler's Refactoring: Improving the Design of Existing Code
Refactoring is changing code after it already works. It is a series of small steps to minimize bugs. Should use unit tests to verify you don't break it. Refactoring does not change the behavior or add new features.
Code is not for computers to read, it is for programmers to read. Most programs spend 90% of their time in maintenance mode - refactoring makes code easier to maintain. Since the code is easier to read, bugs are easier to find. In the long term it is faster, short term it will take longer. Reduces chaos in long-lived code. Fowler formalizes and names the best practices of refactoring.
Opportunities for Refactoring
Points to Note
Thoughts on Refactoring: Most successful applications spend most of their time in maintenance mode, where you are fixing minor bugs or making other minor changes. If the application has been properly refactored then these small changes take very little time. Otherwise these changes are very expensive. Refactoring pays for itself in the long run if your application has any sort of life span. Refactoring doesn't mean the code was written wrong to begin with either.
posted by Jim at 9/19/2004 10:53:33 PM
Robert Love
The following is my personal notes on new languages features, it is possible these are not exact.
For In Support
Delphi now supports For in loops, this is similar to the for each that is found in C#, this information is also found in Danny's Blog.
For element in collection do statement;
Basically you can do things like this
var
SA : Array of String;
S : String;
begin
For S in SA do
begin
ShowMessage(S);
end;
end;
Key Points of For In
Collection needs to have one of the following to work
Multiunit Namespaces
Goal: Support placement of Delphi Symbols into a specific .NET namespace while preserving unit make logic and syntax and package support.
Basically Namespaces relationship to Assemblies is a many to many relationship.
Delphi8 Solution
Unit name = .Net namespace (This has several problems which diamondback addresses)
Diamondback Solution
Dotted unit name: (Borland.Vcl.Classes)
You can now use the following in you uses
usesBorland.VCL.Classes;
Works as it always has, but only provides only symbols in Classes.
usesBorland.VCL;
Works only with Packages Fails when linking against source.
usesBorland.Vcl.*;
Works with Source Code as well as with packages, but it will not execute initialization sections of all units in the namespace. It will only execute the initialization sections if you actually use a symbol from that unit.
So where does the unit global variable and procedures go?
Namespace.Units.UnitName.Global
Also the.NET framework does not support constant data, it must be initialized in code, Delphi solves this problem by setting all of the data global data in the .Global . constructor.
Function Inlining
New .inline . directive, looks like a calling convention
procedure foo(I : Integer); inline;
Rules:
Why?
Why Not?
Always messure the benefit of inlining!!
{$INLINE ON|OFF|AUTO}
Default is ON
Auto is not recommend, as it has both.
Misc Changes
MOVZX in code gen
Unicode Identifers, not supported in published sections
Improved Overload Discrimination, specically all of the different string types.
Forward declare Records are supported (.NET Only)
Future Directions (After Diamond Back)
Generics (Parameterized Types!)
Support for .NET 2.0
posted on Monday, September 13, 2004 1:39 PM
Joe White
Covering Danny Thorpe's session about what's new in the Diamondback compiler.
I've already posted several times about what's new in Diamondback. I won't duplicate any of that information here. And Danny was only talking about the compiler. Not about refactoring, not about databases, not about ASP.NET, not about ECO, not about VCL. Just the compiler.
Therefore, this is going to be a long post.
(Also, be sure to see my next blog post, with stuff Danny didn't say during the session. In particular, when are some of the other Delphi/.NET language features coming to Win32?)
For..in
Multi-unit namespaces
A couple of interesting digressions
Function inlining
Miscellaneous new features
Coming in Diamondback+1
posted on Monday, September 13, 2004 6:06 PM
Joe White
Stuff that came up after Danny's talk (which I briefly summarized here). Even those of you who were at the talk didn't hear this stuff yet. (Well, except for Allen, but I suspect he already knew all of this anyway.)
Delphifor Mac?
Now, don't get your hopes up. There is no official word on this yet. (It may be worth noting that this is not an official "no".)
Yes, you can get partway there with Mono, but there's not much there for GUI. However, when someone was asking Danny about this after the session, he pointed out that Diamondback will be a multi-personality IDE (with the three personalities out of the box . Delphi/Win32, Delphi/.NET, and C#/.NET). And personalities will be part of the Open Tools API. (Not sure if that'll be totally cleaned up for Diamondback, but it's there.) Open Personality API?
So, whether Borland writes a Mac personality or not (and mum's the word on that so far, so you can still hold out hope), somebody else might be able to. This is a pretty darned intriguing concept, I think.
The features are coming! The features are coming!
I spent a while grilling Danny about what will be in Diamondback for Win32, and what will sneak in later. Here are the results. (Tabular format makes the holes a little more glaring, doesn't it? Still, this is good stuff to hear word on...)
Feature |
Diamondback |
Diamondback+1 |
'strict private' and 'strict protected' in Win32 |
Yes |
|
'static' keyword in Win32 |
No |
Forgot to ask |
Class constructors in Win32 |
No |
Forgot to ask |
Nested classes in Win32 |
Yes [Note 1] |
|
Records with methods in Win32 |
No |
Yes [Note 2] |
Operator overloading in Win32 |
No |
Yes [Note 3] |
Custom attributes in Win32 |
No |
Forgot to ask |
Generics in Win32 |
No |
Researching |
Multicast delegates in Win32 |
No |
Researching |
Note 1: Yes, they'll be there, but you won't be able to use them in published sections because RTTI won't be able to cope with them.
Note 2: Records with methods will be there primarily because they're a prerequisite for operator overloading.
Note 3: Will only be supported for record types.
Usual disclaimers about forward-looking statements, but if Danny thinks it's going to be in a release, I'd say the odds are pretty darned good...
posted on Monday, September 13, 2004 6:14 PM
Serge Dosyukov
I do not want to compite with Nick
Check his blog...
But I would say - congratiulations to him for getting "Spirit of the Borland" award
And small word for Kylix community by Borland - "Kylix community project"
See for more information - Kylix alive and has a future
Also, DiamondBack installs !!! ;o)
It includes almost everything for BDS (you never know what will make in final release)
It has C#, D32, D.net
posted by Serge at 8:24 PM
Nick Hodges
We are live a the the Diamondback Preview!
Michael Swindell just announce the Kylix Community program which will be updating the Kylix CLX library, etc. Sounds pretty good.
Michael just announce the 2004 Spirit of Delphi award and the winner is.... me! I am totally humbled and honored. Thanks to Borland and everyone for thinking of me. I really appreciate it. Seriously, that means a lot. Thank you. I'm really humbled and honored.
Michael is now talking about the stuff in Diamondback.
Michael is bringing up Danny to do the compiler/language stuff.
Danny's Stuff:
Allen Bauer is now at the podium:
Now Ramesh is up to show the ADO.NET/BDP improvements.
Next up is Chris Hesik to do debugging stuff:
Next up are the ECO guys, including Malcom Groves:
Mark Edington is up next. (Have I mentioned that Mark is just a really smart, really nice guy?) He's talking about Unit Testing. This is pretty hot stuff, folks. There are wizards that will automatically build test cases for your classes. It's all done automatically, so all you have to do is write the actual tests and nothing more. Very, very nice. If you aren't doing Unit Testing, you need to start doing it. My only beef? It defaults to using _Result as the result variable for a test. Doesn't everyone know that underscores are the Spawn of Satan?
John Sileski is going to demo StarTeam integration. I personally am pretty excited about this. I love StarTeam, and am really looking forward to a tight integration between the IDE and StarTeam.
Jim Tierney is up showing the new Web Deployment Manager. This is a really neat feature, and very useful. You can easily deploy an ASP.NET application to any network or FTP location. In addition, the ASP.NET Project Manager will show all the files in the directory of a project, as ASP.NET projects are very file based. It's a nice feature.
Finally, Corbin Dunn is up. Corbin is another really, really nice, super smart guy.
That's it. If you aren't fired up for Diamondback, I personally think you don't have a pulse. ;-)
And here's why you should have come to Borcon -- they are giving all of us a CD with the Preview version of Diamondback on it. Don't you wish you were here? ;-)
posted on Monday, September 13, 2004 8:46 PM
Robert Love
I am now in the session room, and it looks like it might be standing room only once it fills out.... Yep it is standing room only.
Announcement:
Kylix Community Project - Admin Team: Borland Chad Hower, Andreas Hausladen, and Olaf Monien
This is to Improve the Clx Library
Spirit of DelphiAward 2004 Award goes too... Nick Hodges This is very well deserved.
Several members of the Delphi team are coming up and showing some of the features in Diamond Back
Danny Thorpe (Compiler Enhancements)
Allen Bauer (IDE Enhancements)
Ramesh (ADO.NET/BDP )
BDP Designer Enhancements
Meta Data Service
DataHub and DataSync able to resolve database, Data can come from multiple database sources into a single datasource
RemoteConnection and RemoteServer are new components that make it easy to remote datasets.
Chris Hesik (Debugging Features)
Hendrik and Malcom (ECO)
Mark Edington
The battery going out will update the rest later...
posted on Monday, September 13, 2004 5:59 PM
Craig Stuntz
I haven't written about Diamondback as much as I'd planned since others are doing such a good job of it. But one demo which I thought was neat was concurrently debugging Win32 and .NET apps.
the debugger is context-aware and will switch back and forth between Win32 and .NET modes as required. So you can create a project group with both .NET and Win32 projects and set breakpoints in both of them. When they trip, the debugger will change modes for the current frame. Should be very useful for debugging applications which host the framework, ActiveX controls, and unmanaged exports in Delphi for .NET apps.
posted on Tuesday, September 14, 2004 3:56 PM
Serge Dosyukov
Alessandro Federici had BOF session today about RemObjects Framework and Chrome.
Borland wasn't be able to manage to put his name on BC Update flyer for some reason but people did come and able to see in action an elegant solution provided by RemObjects for Delphi developers. Visit www.remobjects.com and see this great library.
As a second part of presentation we saw Chrome
Chrome is RemObjects' Next Generation Object Pascal language for the .NET and Mono Platforms. While implementing a language that stays true to the beauty and elegance of Object Pascal, Chrome adds useful design elements from other languages such as C#, Java and Eiffel, and it introduces its own language innovations.
Use Chrome to write fully managed native .NET applications for the Microsoft .NET Framework, the Compact Framework or the Mono Platform, and develop your applications inside the well known Visual Studio .NET IDE
I really would like to see evolution of this product. If you are open for changes in Object Pascal language then it will worth to look at it.
Alessandro and team is introducing a new language which is similar to OP (about 80%) but added few extensions to it (aside from one related to .Net framework).
For now it is just language (no designer), but you can code in it for .Net. And... it compiles and run!!!! And it is in Visual Studio, it consumes it, so all features of VS.Net available for developers.
Using Pascal language for last 15 years, I really looking forward what this project became over time. Great staf.
posted by Serge at2:46 PM
Craig Stuntz
Charlie Caro gave a preview of new features in IB 7.5, a free update for IB 7 customers.
When?
Goal is to ship with Diamondback.
Features and Goals of Release
posted on Tuesday, September 14, 2004 8:38 PM
Euan Garden.
Luckily my alarm call actually worked this morning so I managed to make it to my session on time, no demo dramas this year(last year I had to rebuild my machine starting on the morning of my session). I managed to get through all my slides bar 3 and 1 of my demos, which I was pretty happy with. It was really a 100mph session with a ton of content, I checked out the feedback forms and most people were happy but the did complain there was not enough time. I'll try and prune it back if we do it again next year, all feedback gratefully received for next years version! The agenda is below so you can see what I covered:
After my session I sat in on Donald Farmer's session on DTS and Reporting Services, Donald did his usual awesome job, including writing a report designer in Delphi for .Net. He then showed how DTS can consume RSS feeds and used Text Data Mining to decide on .interesting . articles.
I then spent lunch working on the booth and giving out the SQL Server 2005 Beta 2 resource kits which included B2, Hands on Labs, Web Casts and a bunch of other useful stuff. We finally ran out of SQL Server T-Shirts as well, but we gave out some others at the party later. I bumped into BradA as he was arriving, he was sitting in on some of the sessions as well as answering questions in the booth before he headed out to a user group meeting and doing his session at 8 on Wed morning. We obviously upset the same person to get stuck with 8am sessions!
After lunch I headed back to the hotel for a quick snooze, another conclusion that I am getting old, I can't handle the late nights(and no alchohol was involved!) at conferences any more!
This evening was the party sponsored by MS at the San Jose Tech Museum, this is the same place as last year so I managed to find the food MUCH faster than I did last year. Spent time chatting with some of the Falafels and some of the other MS folks. DavidI came over to chat for a while and was telling us amusing stories from previous Borcons. He has been to the odd one or 2, overall it was a good night and there were more free t-shirts on the way out. Oh and if you were the guy I saw dipping twinkies in the chocolate sauce on the desert table, I really hope you get help for the carb addiction!
posted on Wednesday, September 15, 2004 6:57 PM
Jim McKeeth
Nick Hodges of Lemanix (The #1 Borland Partner in Minnesota) is covering ASP.NET component building. He will be using Diamondback and Delphi.
First a couple panoramic shots:
This one is from the back of the room. On the left you can see the boom camera they used in the keynotes and general sessions. On the right is one of the many stationary cameras.
This one is from up front where I ended up sitting. Notice the tables they had set up this year is most all the halls. It made taking notes very nice.
UPDATE: These photos are from Nick's ASP.NET Development Strategies, not Creating Custom ASP.NET components. Same speaker, different location and time. This pictures don't do Nick justice. He looked like a rock star up there. When he finished his session they turned on the lights and the lightening video behind him.
Topics to be covered:
User Controls
User Controls are "page chunks" that just provide a portion of the page. Typically they contain common headers, footers, etc. Need to have the "*.ascx" extension. Behind the HTML there is also code-behind code.
Server Controls
They abstract the browser so the correct code is rendered for the current client. They encapsulate features and behavior and maintain state. Server Controls are configurable at design-time like components. Server controls are easier to share then user controls.
System.Web.UI.Control
is the base class to descend from. Must have a parameter-less constructor. All properties must have get_ and set_ assessors.
Any HTML you want to output must be outputted in the Render
method. Simply place the control in an assembly (or package) and install it into the IDE. It is worth noting that the control does not by default have any style support.
For a web control you override RenderContents method. The Render method handles the block tags (P, SPAN, DIV, etc.)
Composite Controls
Composite controls are controls that contain multiple child-controls. This is different then User Controls because all the controls are generated in code with no visual design. Must implement INamingContainer (with no methods) to indicate that it will name all child controls based on the name of the parent control to prevent collision with other controls on the page. All assessors must call EnsureChildContols before accessing the properties of the child controls. Composite controls must override render for customer rendering. If Render is not overridden then the child controls are streamed out one after the other. When overriding Render you can call AddAttributesToRender passing the Writer to automatically render the attributes of the parent control.
The Writer is an HTMLTextWriter class to facilitate the construction of HTML. Internally it uses StringBuilders and understands the concepts of opening and closing tags by calling RenderBeginTag and RenderEndTag. If you want to add attributes then you call AddAttributes before you call RenderBeginTag. To Render a child control call the RenderControl method of the child control, passing in the writer.
posted by Jim at 9/19/2004 07:12:57 PM
Serge Dosyukov
Session is started with digest of the moment from opening session. Then it is followed by introduction dance by dancing group which we saw sunday. Dale and David thanks support team, advisory board, speakers, TeamB and people who blog during conference. "Thank you" word to a sponsors
Then after some information discussion for BorCon attendees, John presents a new features of BDN web-site: new format (ASP.Net, Diamondback... some section are already moved some might moved as it go), new EventCentral.
Dale and David again point to a presentation of new Delphi 2005 version and encourage to go and evaluate product (D2005 preview), prepare yourself for official release.
Again Dale point at effort of Borland to go hand-by-hand with developers into a new era of Software Development and being with Borland all these years.
Then it is a time for Borland bucks drawing for prizes. Dale mentioned accident happened in past when Borland bucks did fell, almost, on gim and missed by inch. ;o)
My friend won one!!!! Congratulation.
Again some people was shot.
Then prizes again...
BorCon 2004 officially is closed.
PS. I will continue with this blog to give you more details on sessions I did attend.
posted by Serge at 2:44 PM
Other Borcon 2004 resources on the web: