Australian Delphi User Group Members: Delphi for Android preview going on right now
The Wiert Corner - irregular stream of stuff: jpluimers
The Dutch stop of the RAD Studio In Action LIVE! tour is on September 7th.
The venue location is via Holiday Inn Leiden Hotels: Haagse Schouwweg 10, 2332 KG Leiden, The Netherlands.
It is close to the advertised “Amsterdam Netherlands” (about half an hour drive), close to the A44 highway and close enough to public transport. And it is indeed on Saturday September 7, 2013
Full day event: RAD Studio In Action LIVE! + conference track
Unlike many of the other stops, this is a full day event including lunch. It is organized by Barnsten together with the Blaise Pascal magazine.
In the morning there will be the RAD Studio in Action LIVE! part of the world tour. Two hours packed with information from Embarcadero technical product manager Paweł Głowacki covering:
A deep dive into “the multi device development” Lab
During the morning session you are updated on the latest versions and new techniques. We will show you the new mobile platforms and VCL updates.
Following that is a nice lunch followed by the conference part of this day: 3 blocks of sessions.
That warrants the slight cost of this event. The EUR 35 early bird offer just ended, but the current price of slightly less than EUR 50 (excluding VAT) is still a good one for such an event.
So don’t forget to buy your ticket (:
Afternoon sessions
In each block you can chose from 4 topics by speakers that are pretty fluent in English about topics related to Delphi and Lazarus.
Dutch abstracts and English abstracts are at the Barnsten site. I’ll just post the speaker line up and session titles:
Block 1: 13.00-14.00:
- Bob Swart – Deep Dive into creating iOS Apps
- Mario Vermeulen – Build your own 3D Office
- Jeroen Pluimers – Version Control in the 21st Century
- Michael Philppenko – Fast Reports in your Delphi Apps
Block 2: 14.15-15.15:
- Danny Wind – Deep Dive into Creating Android Apps
- Mattias Gärtner – Lazarus
- Raymond Horsten – Data model your databases
- Ray Konopka – Unique User Interface design system
Block 3: 15.45-16.45:
- Q&A with our Delphi Experts
- Joost van der Sluijs – Big Lazarus Presentation
- Kim Madsen – n-tier development with kbmMW
- Dmitry Arefiev – FireDac to connect all your apps
Special during the event.
Barnsten runs a special during the event as well:
25% discount on the purchase of FastReport or FastCube during this Conference.
The EUR 35 early bird offer just ended, so the price now is slightly less than EUR 50.
Hope to see some of you at this conference!
–jeroen
via: Join us for Exclusive Android and iOS Development Tech Preview Events | Landing Pages.
Filed under: Android, Android, CodePlex, Conferences, Delphi, Delphi XE4, Delphi XE5, Development, DVCS - Distributed Version Control, Event, FreePascal, git, iOS Development, Lazarus, Mercurial/Hg, Mobile Development, Power User, Software Development, Source Code Management, SourceForge, Subversion/SVN, TFS (Team Foundation System)
Firebird News: Perl driver DBD-Firebird 1.12 is released
Lazarus Team Anouncements: Lazarus Windows Installer: Testers for new multiple installations feature needed
This allows to have different versions installed, which do not interfere with each other.
For this new feature we woul...
Firebird News: Firebird 2013 Tour
Te Waka o Pascal: RAD Studio in Auckland / Android in a VM / Touchy Feely
Firebird News: Editline is updated in Firebird 3.0 isql console client with UTF-8 support
The Podcast at Delphi.org: Delphi XE5 Mobile REST Client Demo
Short demo of the new TRESTClient on a mobile Android application with Delphi XE5. It consumes a JSON REST service and uses the TRESTResponseDataSetAdapter to adapt it into a TClientDataSet. The TRESTClient components are new in Delphi XE5 and work everywhere Delphi does: Windows, Mac OS X, iOS and Android.
DelphiTools.info: Updated DWSWebServer precompiled binary
Te Waka o Pascal: Delphi and Oxygene – A Cost of Ownership Comparison
The Wiert Corner - irregular stream of stuff: jpluimers
Delphi introduced the .groupproj files to support MSBUILD.
I couldn’t find an XSD for it, but need to do some fiddling with those files, so I created one. It’s not very detailed, I think it gets most of the definition right.
The checkin is on my BeSharp.net mercurial repository on BitBucket:
–jeroen
via: jeroenp / BeSharp.net / commit / c122bbdef42e — Bitbucket.
Filed under: Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, Software Development
The Wiert Corner - irregular stream of stuff: jpluimers
While working on my Delphi: First try on an XSD for .groupproj files, I bumped into an error `Namespace ” is not available to be referenced in this schema`.
I added a targetNamespace attribute to the GroupProj.xsd so the .grouproj files would use the right namespace.
That resulted into two funny errors:
- Namespace ” is not available to be referenced in this schema.
Visual Studio (which I normally use for editing XSD) would only throw this error on these elements:<xsd:element ...>
So it would not throw them on nodes using the empty namespace.
That was really confusing! - When validating .grouproj files using this GroupProj.xsd, I would get this error for all .groupproj files:
System.Xml.Schema.XmlSchemaValidationException: Type ‘<type>’ is not declared. (in this case for ‘<type>’ ’ProjectType’).
That was odd too: the ‘ProjectType’ was indeed declared, and should be valid.
I could hardly find any information about the latter error, but the former gave a few useful hits.
Thanks User weston – Stack Overflow. for answering this: it made me smack to my head (like usual, a case of EBCAK).
To resolve Namespace ” is not available to be referenced in this schema. You can set the default ” namespace without the need to change the rest of the file:
So after adding the below default xmlns to the XSD, not only the first, but also the second error were gone!
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
This is the work in progress on GroupProj.xsd:
–jeroen
via: How do I use inheritance (ie xs:extension) in my own xml schema? – Stack Overflow.
Filed under: Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, Software Development, XML/XSD, XSD Tagged: software, stack overflow, technology
Firebird News: GSOC LibreOffice Firebird Integration Weekly Update 12
The Podcast at Delphi.org: Tips for Solving Bugs
Ars Technica has compiled some tips for solving bugs quicker from a question on Programmers Stack Exchange. Here are the highlights:
- Break out the notebook – keep a log of your progress and methodology
- Look for patterns and use the right tools for the job.
- Self-reflection time – a non-technical approach.
- Read and apply Working Effectively with Legacy Code
Danny Thorpe, former Borland Chief Scientist, had a conference session on Reading Tea Leaves: The Fine Art of Debugging. Luckily Joe White took some great notes, and Danny revisited some of his tips in another Stack Overflow answer.
I’m curious what tips and techniques you have for solving bugs, especially those really nasty ones. Are there specific tools your use? I know there is a lot of functionality in the Delphi debugger, much of which is rarely used to its fullest potential.
The Wiert Corner - irregular stream of stuff: jpluimers
Too bad the Sourceforge does not do stats pages any more, so you it is a lot harder to correlate project activity with potential release dates any more.
But: about 3 weeks ago, the XE5 branch was added to the RadStudioDemos repository:
http://sourceforge.net/p/radstudiodemos/code/788/tree/branches/RadStudio_XE5/
–jeroen
Filed under: Delphi, Delphi XE5, Development, Software Development
DelphiTools.info: Using IOCP for Worker Threads
The Wiert Corner - irregular stream of stuff: jpluimers
Cape Cod Gunny found the PDF of the Delphi 7 Developer’s Guide (1100+ pages of good reading): Cape Cod Gunny Does Delphi: The One Manual Every Delphi Programmer Should Have!.
There are in fact quite a few more PDF manuals of older Borland/CodeGear/Embarcadero products:
site:http://docs.embarcadero.com/products/rad_studio filetype:pdf
These I like most:
- Delphi 6: Object Pascal Language Guide.
- Delphi 6: Object Pascal Sprachreferenz (German Object Pascal Language Guide).
- Delphi 6: Anwendungen Erstellen (German Developer’s Guide).
- Blackfish SQL (this was a great .NET database; too bad this product got discontinued).
- RAD Studio Common (Delphi 2009, explaining a truckload of things including MSBuild integration).
- Generic Collections (though a dump of the online help, it is nice to have this in one big document).
- RAD Studio for .NET (interesting from a historic perspective).
- RAD Studio for .NET (German).
- The CLX version of the famous VCL Hierarchy Poster.
–jeroen
Filed under: Delphi, Development, Software Development
The Wiert Corner - irregular stream of stuff: jpluimers
You will see a few Delphi XE5 pre-release related updates here soon. That is part of the Delphi XE5 beta blogging permission I have been given so I can show new Delphi XE5 features. Those updates are from a pre-release version of Delphi XE5 and will be replaced with a final update when Delphi XE5 is being released.
For more information about Delphi XE5 and the Android support, please visit http://embt.co/RADAndroid.
Though not as fast as I hoped (I’ve slept most of the past days), I’m already preparing my Mercurial repositories at https://bitbucket.org/jeroenp, and preparing for the PasCon / RAD Studio In Action in Leiden, The Netherlands next saturday so stay tuned.
About this event: there are a few seats left, and a last-minute discount recently launched. Book your tickets trough the on-line links for EUR 35 excluding VAT (normallu EUR 49 excluding VAT).
- English: http://www.blaisepascal.eu/index.php?actie=./DucthPascon/Info
- Dutch: http://www.blaisepascal.eu/index.php?actie=./DucthPascon/InfoNL
Prices are for the full day, both the RAD Studio In Action event in the morning, and the PasCon sessions in the afternoon (with a great line up of international speakers; I’ve also heard there are quite some foreign attendees too, so it is gonna be a fun event!).
–jeroen
Filed under: Delphi, Delphi XE5, Development, Software Development Tagged: bitbucket, Delphi, repositories
TPersistent: Developers Shouldn’t run Around with their heads cut off
Developers shouldn’t run around with their heads cut off but in my experience they most certainly will at some point, trying to fix bugs, if they don’t write their programs to be headless. A good way to write a headless application is to write, you probably guessed it, Unit Tests!
From personal experience, I know that if you don’t write your code to be testable, it’s extremely hard to make it so at a later date. If anything, your unit tests become more like integration tests. The same holds true, that if you write your code for one UI, business logic tends to creep into your forms, making it more difficult to support a UI on a different platform at a later date. It also makes testing through the UI mandatory, and it’s very difficult to thoroughly test code through the UI as it evolves. Using an ORM helps separate business logic from UI, but it’s not a silver bullet. I think the best approach is to use a framework like MVVM in concert with an ORM. Unit Testing IMHO is the next best solution. It’s a good way to make sure your code is headless as well as uncoupled from other dependancies and forces you to think about coding it in a more defensive manner so it will withstand the constant regression testing.
At some point, if you aren’t actively making payments, your technical debt will force you to re-write your software, and without unit tests much of the requirements for the code, and those hard won bug fixes will be lost because developers don’t write documentation (at least good docs). So while you think you’re new code may smell as fresh as a daisy, compared to the old stuff, it will essentially be a large and unproven undertaking. Unit tests are payments against technical debt, allowing you to change the software to meet evolving requirements with minimal breakage.
I recently had to update some unit tests that I wrote after another developer refactored the class under test. Apparently, despite my request that he update the tests, he failed to see the value in doing so. What I discovered was that he had introduced a bug which would have remained undiscovered for some time, had I not updated the tests. Prior to that, the unit tests for that single class had proven their value several times, having once created a new test to prevent a bug found in production, and catching breakage in previous refactoring efforts. That was on a single class! I can only imagine what life would be like if there was 80% test coverage.
If you don’t use unit testing I would encourage you to invest the time to learn how to write unit tests, and to actually do so. Don’t learn it’s value like I have - from the school of hard knocks…
Delphi Code Monkey: Delphi XE5 Launch immanent! World tour on now!
I have not yet used the XE5 product, but as my employer is on SA, I am going to grab it as soon as it's released and will be posting my attempts to build a single source iOS and Android app of some sort.
Exciting times.
Yesterday's launch event had the largest turnout for a Delphi launch that i have yet seen. I wonder if part of it was the wonderful choice of launch location (Ruth's Chris Steak House), and the innovative lunch-and-learn concept. Probably there were some people who would have been able to make an evening launch that could not take time off in mid work-day, but that didn't seem to hurt turnout, which was 5x to 10x more people than were at the XE4 launch. The XE4 launch apparently, did not have proper publicity and emails, and it was good to see that the XE5 launch in Toronto was handled much better.
The presentation focused on the new mobile features, which is to be expected, since they're pretty cool. I'm sure that some of the Delphi faithful in Toronto also want Embarcadero to spend time polishing the core Windows and VCL areas of the system, but I don't think any long-term Delphi fans (myself included) are sad to see Delphi acquire new cross-platform capabilities that are, I believe, beyond anything anybody else anywhere has right now. Delphi is out front. Good news for Embarcadero and good news for all of us Delphi users. Our secret weapon now has a new set of cool features. Embarcadero is also committed, it would seem, to sharing with the world, via well-done marketing, that Delphi XE5 has a few new tricks up its sleeves in the productivity Force Multiplier territory that really has been Delphi's key strength even in its single-platform Windows-only days.