Monday, June 28, 2010

On the review list

On the review list:


Accuracer vs. ElevateDb vs NexusDB vs. Absolute vs. et al. Impartial and independent review


Are you tired of Ella Perelman's and Leo Martin's in-your-face newsgroup posts with Accuracer Database? Your reviewer has all of them - Accuracer 5.30 C/S edition, ElevateDB VCL Client Server, Absolute Database Multi-user edition, NexusDB developer, MSSQL, along with other interesting database source codes and able to make an impartial and independent review of current Delphi databases out there. Aidaim should make a forum on their site when they make such bold claims. There's no point telling such claims when there is no forum to review past technical support.



Julian Zierch WpTools vs. TRichView independent review (and suggested corrections to WpCube's website)

WpTools is in need of independent review. From a WpTools 1.xx user to WpTools v6, your reviewer will correct certain facts on WpCube's website and also review TRichView. It will be Udderly hilarious.




Your reviewer will be back soon.

Wednesday, June 23, 2010

It made me Snap

Your reviewer found this interesting article - Why DataSnap 2010 is Toy Library.

Even more amazing is how Dr. Bob wrote his DataSnap articles. Did someone ever check about DataSnap before writing so many articles on it? Or is it like those old Western Films - "Give me a drink and make it snappy"?

Smells like Team Spirit Nevrona - Rave Reports

See below for article updates

In the year 2001, Delphi 6 was released. In the Delphi 6 Professional box was Rave Reporter "Delphi edition", a no-source edition of Rave Report.


Nevrona Designs Rave Reporter was selected to replace the ill-fated QuickReport in Delphi 1, almost rewritten QuickReport in Delphi 2, ReportSmith (licensed from Crystal Reports) and Object Windows Library Print Preview feature.

VCL as successor to OWL
For those oldies, to print a report in Turbo Pascal for Windows, you had to do direct output to LPT1, LPT2 and learn the Epson printer command language, or HP laser jet ESC-> language. With Windows, you print using Windows GDI commands and they would be translated to the relevant printer-command language (PCL).

To replace Borland ReportSmith
Those of you who used ReportSmith, it required 8 diskettes run-time (exclusive of 5 more diskettes for BDE and around 3 more diskettes for your application). So you shipped your application with around 20 diskettes... or had to buy a CD writer for your application. In those days, CD writers costs US$1000 or more. Not all PCs had CD-ROMs until much later when CD-ROM drives became ubiquitous. It was really pain to use ReportSmith. From Windows 3.1 (or Windows 3.11 with Win32-subset) or Windows 95, you had your application running, BDE running, probably Microsoft Word 7 or Word 95 and with Borland ReportSmith running, it would suck-up all the GDI, USER resources. In order to buy "full-featured" version of ReportSmith after Delphi 5, you had to buy full version Crystal Reports and use that instead. Go figure.


To replace QuickReports 1.0, 2.0
The people who designed QuickReport charged end-users US$499 (they did reduced it to US$399 then US$299) but did not make updates. Thus, Delphi 3, Delphi 4, Delphi 5 had buggy versions of QuickReports and require "extortion" payment and updating code yourself. Since QuickReport did not have a designer (note: there used to be QR Artist, QR Designer add-ons before QBSoft brought them over) The "only" solution was to buy a 3rd-party Report Writer, such as Pirparti Pro, now called Report Builder, SCT-Associates ACE Reporter, FastReports and Nevrona Report Writer. Thus, in order to "use" QuickReport, you had to upgrade almost every year (US$99 per Delphi upgrade), buy PDF add-ons (from either Gnostice/RareFind) (US$99, US$249 with sources), buy a designer (QR Designer or QR Artist) (US$99, US$149-US$299 with sources), buy bar-code addons from TurboPower or some other vendors (US$149 or more) and it becomes a costly affair just to print something out. There were reports and posts from the newsgroups that QuickReports was actually one person vendor.



While Mr. Chad Hower (Kadzu) was working at Nevrona Designs, he managed to convince the Borland folks to license their WinShoes - now called Indy, Delphi for Internet - now called IntraWeb, and Nevrona Design's Report Writer. That must have been an achievement for Mr. Chad Hower and Mr. Jim Gunkel.


The facts don't report the truth
The key fact with Nevrona Design's Rave Report is it is distributed with every copy of Delphi. That must have been quite an achievement. If every Tom, Dick and Harry Delphi developer brought
Nevrona Design's Rave Reporter full-edition instead of the Delphi edition, Mr. Jim Gunkel would have been very rich. There would be thousands of posts on Nevrona Design's newsgroups, plenty of paid technical support instead thousands of unanswered posts, and the current unpaid Team Nevrona. It got so bad that Mr. Thomas Pfister said it was time to say "Goodbye" in his blog posting. I'm sure that Mr. Thomas Pfister felt his time was worth more than that lonely feeling on Nevrona Design's newsgroups.


Reporting late, later and later...
The issues started happening five years back, around Delphi 2006, Delphi 2007 time. There were promises of bug-fixes, promises of new features. The first nail in the coffin was this DEP (Data Execution Prevention) issue that came and went. Although it was never fully fixed, people who deployed the newer Report Printer Pro had this issue.

There was also this nagging issue about WYSIWYG report writer designer that others (Ace Reporter, Duck Report, Pirapati Pro, Fast Report) had. With the new version of Rave Reports, it was delivered - at great cost. It worked almost - The Data pipelines from Delphi to Rave Reports would get "lost" at times, causing much frustration. The RTF export would sometimes be hideous, truncated or unusable, The PDF would give crazy formatting, be un-openable or corrupted, HTML templates comes with really scant documentation and no help on the Nevrona Newsgroups. One wonders why Nevrona Reports was selected to replace QuickReports. At least - the people at QBSoft care about QuickReports and often reply to questions on the Embarcadero newsgroups asking them to use the latest Embarcadero version of their product. Ditto for the Fast Report people


Rave Unicode
The issue with Delphi, Unicode and Nevrona Designs is the RPT file format that Nevrona uses. They should have gone XML or created a new file format instead of reuse. The trouble with printing, is it takes 1 byte as 1 character and Delphi uses 2 bytes for 1 character. If you do not check your memory allocations, you would have serious buffer overflows or underflows. With everything in Unicode - where PAnsiChar, PChar is different, the trouble started from the day Delphi 2009 was released - an almost unusable Rave Reports was shipped. There were promises, promises to get it fixed but no results (as of writing this article). In the mean time, people got really angry with Rave Reports...


Rave Payments
There was always this "payment issue" and upgrades. In order to get the latest fixes, you had to buy full version of Rave Reports. It was this "Take it or leave it" mentality that killed Borland/CodeGear that persisted into Nevrona Designs. So long as there were thousands of copies of Delphi sold, there would always be this sucker who would buy one or two copies of Rave Reports out of desperation. The difference is, you cannot easily duplicate Delphi, but there are 3 or 4 other report writer solution in the market. You could get FastReport, ReportBuilder, AceReport, Crystal (if you're doing SAP)

Your reviewer will take look at other Report Writers out there and look at one worthy to replace Nevrona Design's Rave.


Business Object's Crystal Reports.The difference between Rave and Crystal Reports is the pointy-hair boss needing a report badly and fast solution to get it. With Rave Reports, you had to buy Delphi, buy some third-party database access solution and then spend more time making reports. With Crystal Reports, you could design almost all of reports and then make minor environment changes (e.g., database server name, database, passing variables, etc.) and your report would still work. End users loved it because they could write SQL statements and get their data formatted the way they wanted without too much fuss. Since it did not need Delphi, it saved on an unnecessary cost.

Pros: CrystalReports can access SAP information
Cons: Disliked by Delphi developers. Has this huge run-time issue (not really an issue IMHO), poor Delphi integration, uses Basic-like syntax, screens that feel "very basic".



That depends on whether Embarcadero wishes to license Crystal Reports. Remembering the past, ReportSmith wasn't a good idea. It would be better if Embacardero offered some help on Crystal Report's Delphi integration (make it better, more documentation) than hapless Delphi developers asking questions without any answers on Embarcadero's newsgroups.


Combit's List & Label This would be serious contender to replace Nevrona Rave Reports. At the very least, it would solve some pressing problems - like having a working, usable end-user report designer, decent PDF exports and with German language support (for those German people who hate English and must use German) and some understanding that Reporting is serious business.


R&R Reporter
I've included R&R Report writer here because some Delphi developers are great Clipper and Btrieve fans. Some of you might remember the R&R advertisement on Delphi informant, The Delphi Magazine and those special offers on the Delphi Informant many years ago.

Their business practice went in this manner:
1) Liveware would place an advertisement or sent those advertisement letters to you/ or to your business.
3) You would order their starter kit (and still is today - having no free downloads?) and first order.
4) You would probably get sued or your name smeared for illegal run-time distribution. (??)
5) You find out about other report writers in the market.



Ace Reporter.
Not serious contender, but some people use it. AdaptAccounts uses AceReporter for their older Paradox versions. (They now use ReportBuilder). It has an excellent Report Designer but no run-time editor (they have a run-time viewer to view those Ace Report files). Almost 5 years have passed since 2005 and SCT Associates releases just upgrades for newer compilers.


QuickReport as alternative to Nevrona Design's Rave Reporter.
The newer offering from QBSoft seems to be good enough. QBSoft brought over Timo Hartmaan's QR Designer, QR utilities, and bundled it with Gnostice's PDF export.

One certain vendor - BS/1 software uses QuickReports (and DBISAM) and you would see people begging around for QuickReports full version (and DBISAM) just to compile BS/1 software.

Just for your info - Timothy Young and Samatha Young from ElevateSoft verifies each DBISAM or ElevateDB order. One thing for sure is that nobody leaked DBISAM after that "leak" was identified and shut down. People are always begging for DBISAM or ElevateDB.


QuickReport as replacement, if done right, would be an excellent choice.


Team Spirit Nevrona
The irony of Nevrona Design's closed-source Rave Reports against Indy's almost open-source model of distribution. It was many years ago that Mr. Chad Hower (at Nevrona Designs), open-sourced Indy and parts of (older) Delphi for Internet (now called IntraWeb). Why not open-source Rave Reports? that would enable other people (if given the time and money) to fix it and stop this mess.

Open-source would be an excellent idea. Instead of your reviewer paying for the cost of the product, your reviewer would instead pay for reports to be made (higher-value), add-ons (more higher value) and better works. Strangely, I would pay US$5,000 for a set of reports to be made than pay for the cost for Rave Reports. Mr. Jim Gunkel would be an open-source hero overnight.


Fast Report & Report Builder

Your reviewer looks at the animosity between Mr. Nard Mosely (Digital Metaphors/Report Builder) "DM" and the Fast Report vendor. DM claims that Fast Reports copied most of their code and rewrote it. But if you look deep inside - some parts of FastReports was made into FreeReports on the vendor's site. A detailed analysis revealed similar ideas but different models of implementation.

- The first vendor who had Data Pipelines or DataSet/DataSource components between the database and report writer was Crystal Reports, then AceReport, then picked-up by Pirapati Pro (the "Tpp" prefix in the Report Builder) and FastReports. Ditto for Toolbars. Toolbars are so common, you could throw a rock and it would hit 10 or 20 vendors who made Toolbars before Jordan Russell's Toolbar97/ Toolbar 2000 drove them out of business.

- FastReport has it's own Scripting (called FastScripts) and Decision Cube (FastCube) and the enterprise version comes with full sources.


- Formerly, you had to buy Jame Waler's TExportDevices for ReportBuilder, but with FastReport, you could get somewhat decent PDF export.

Your reviewer used QR, QR Designer, Ace Report, Report Builder, FastReport, and rolled his own reports during those DOS days, wrote Windows 3.1 report writer mini-library and could say:

- Fast-Reports has issues with support because there are many unanswered posts on their newsgroups and forums. Registered customers are asked to go to their official support channels (email, their web-based helpdesk) instead. For Digital Metaphors, you have support, inclusive of Psychic hotline service. Support is mixed. With FastReport, you can recompile full-sources so it means you can fix problems yourself. With ReportBuilder, you need support because you cannot recompile the sources; that leads to DCU mismatch error.

- FastReport is easier to use and has lower-costs, much lower than Rave or ReportBuilder.


- FastReport has a cousin called FreeReports if you do not have so much money and need free solution.

- FastReport can do dot-matrix and margins almost correct with no crazy printer problems. ReportBuilder does it too, but the hard-wiring of margins is concern. For example - how do you know if the person having an Inkjet or Laser printer can print the report correctly if the printer feed margins differ with each printer?

- ReportBuilder has better support and better implementations.


DevExpress VCL ReporterYour reviewer would really prefer DevExpress VCL Report writer solution rather than buy something else, but sadly, this never materialized.



Report Nirvana?
Whatever Embarcadero chooses, it should choose wisely. There's only one chance to get a good report writer for Delphi and not blow-it-up like the past - Report Smith, QuickReports 1, 2 and Nerona Design's Rave. If Embarcadero brought Nevrona Designs, it would probably be ill-fated like Delphi for Bold or that TogetherSoft purchase.


Preparing for Linux, OSX and 64-bit Report Writer solution?
Given there is so much at stake - with the demise of Nevrona Reports, it would throw a spanner on Embacardero's 64-bit compiler and 32-bit IDE. Interesting question would be -- how would you deploy a 64-bit report writer if the IDE is only 32-bits? That would mean Nevrona would have to design their product 5 or 6 times - one for Delphi 32-bit IDE and 64-bit Run-time solution, one for Linux, one for OSX...


Let's not talk about having a nice grid solution for Delphi... 

:)


Updated article - Smells like team spirit, two years later
http://delphihaters.blogspot.com/2012/09/smells-like-team-spirit-nevrona-two.html

More Kudos

From N.:
"Delphi Hater's Blog is one site that I read from time to time. There are many interesting posts there."


From R.:
"one of the Delphi blogs I read regularly"



Next article on schedule:
Smells like Team Spirit Nevrona - Rave Reports.

Wednesday, June 16, 2010

Google Protocol Buffers vs. RemObjects SOAP

Costs for 2 years project per person
====================================
Visual C++ 2010 (Professional) - US$799.00
Visual Studio 2010 Feature Pack - US$0.00
Google Protocol Buffer in C++ and C# - US$0.00
Approx total 1st year: US$799.00
Approx total 2nd year: US$0.00 (assuming best-case)
Approx total 2nd year: US$499.00 (assuming you renew MSDN subscription)

Delphi 2010 (Professional) - US$899 + SA
Developer Express Source Pack - 1st year - US$1499.00
RemObjects SOAP - US$399
Approx total 1st year: US$2797.00

Developer Express Yearly Subscription - 2nd year onwards - US$699
RemObjects SOAP subscription - US$249 per year.
Approx total 2nd year: US$948.00
Approx total: US$3745.00

It could be said, Delphi developers pay yearly tithes to the temple of Delphi. For those who do not know what tithes are, if you are Christian or Jewish, you are obliged to provide 10% of your salary towards the Church or Synagogue. For those hard-core Delphi developers, do you feel your faith is strong enough to continue buying year after year, the latest versions of Delphi and all those components you need?

Native Development in Visual C++
Your reviewer will do Visual Studio/Google Protocol Buffer native MFC development and Delphi with RemObjects SOAP.

Background in C++
Between ATL, MFC, WTL there lies native Win32 development nirvana and XKCD's infamous cartoon compiling. Well, if you compile within 1 second, you really do not have to worry about fighting the compiler or doing the Visual C++ "world-wide-wait". Since Visual Studio Feature Pack contains BCG Professional 2010 you can create great user-interfaces without too much fuss.

Background in Delphi
Your reviewer asks, why use Delphi if your reviewer can compile within 1 second for C#, C++? Because there's that legacy application written long time ago that needs to be "upgraded" or maintained and suddenly, a need to learn new things. Or, you can call that number and order Delphi and all those cool stuff..., but the party is over and everyone asks "Is Delphi Dead?". If Delphi is alive, where are those jobs?

SOAP and Protocol Buffers
SOAP in C++ requires purchasing gSOAP, SQLDATA SOAP or PocoSOAP. You'll need a service builder (to construct strongly typed binding libraries), remoting framework and effort to get going.

SOAP in Delphi is almost same/similar. The WSDLImport.exe in Delphi is either broken or cannot import that WSDL file or something happens during development-time that requires some 3rd party library.

Delphi and RemObjects SOAP
RemObjects SOAP is a must-have in Delphi, since WSDLimport does not perform well, it uses the stupid Indy library (see HTTPRIO.pas) always seem to have some kind of problem/issue that needs attention, such as:

Delphi SOAP vs. RemObjects SOAP
- Delphi SOAP is always broken. You can never seem to import any NET or Java WSDL file or website without having to fix something or the remoting is so broken or time-out, or Unicode issue. RemObject SOAP suffers from partial NET SOAP support (that's why RemObject sells their own SOAP library for NET). In other words, with Delphi, it's buy-buy-buy and bye-bye-bye attitude towards money.

Visual C++ with Google Protocol Buffers
There's Facebook Thrift, RAKNET and other libraries available for the misinformed. Your reviewer will focus on Google Protocol Buffers.

Your reviewer would have used Apache Axis (there's plenty of articles on that) but will use Google Protocol Buffers to communicate between MFC/C++ and C#/WCF restful service.

Steps in Visual C++
1.) You need to download Google Protocol Buffer and nice remoting library, such as Boost.ASIO, libCurl as DLL, or funny enough, Ultimate Toolkit TCP/IP library.

2.) Understand how Google Protocol Buffers work. You need to define your .proto file and run it against Protogen.exe (to create static binding for C++ code).

3.) Include either as LIB or static linking (all-in-one) into your MFC application. (This may take an hour or two).

4.) Include your .proto file headers and start to use it. In your program, you serialize and deserialize the protocol buffer from disk, database, remoting to your GUI and back.

5.) Use Protocol Buffers in C# to deserialize the response from your MFC application with IIS.

In 5 steps, you have remoting in C++, C# without too much fuss.

Steps in Delphi
1.) You need to download RemObjects.

2.) Where's the WSDL from? If it is in Java, can you ask to switch to Google Protocol Buffer? How about Java Messaging instead :) ?

3.) Start RemObjects service builder and import the WSDL so you can use it into Delphi.

4.) Add those units from RemObjects service builder into your project. Compile and deploy.

5.) You may have to deploy a server-side solution made in Delphi. If you use C#, you may have to "simplify" your C# WSDL if the import messes-up.

Decisions
Your reviewer, after using Google Protocol, liked it. It was very fast, strongly typed. With BCGSoft's Professional library, Visual C++ and remoting library, your reviewer can make affordable products.

With Delphi, it's always out-of-budget, no money (it's having to buy all those libraries for that new guy) or bad buying decisions.

Tuesday, June 15, 2010

Tea Leaves - Feels like Delphi 2011 coming within 60 days

Your reviewer got several emails from Embarcadero.

Every year, without fail, Borland, then DevCo, then CodeGear, now Embarcadero would send these ridiculous discount offers to buy "older" versions of Delphi. You might be thinking, that's out of your mind, but wait...

The proof comes from 5 years of marketing data:
- In Year 2005, they offered discount pricing on Delphi 2005 on October period with "hints" towards buying SA. Delphi 2006 was released on November 23rd, with many people fuming mad they brought older versions of Delphi.

- In Year 2007, they offered discount pricing on Delphi 2006 on February period with "hints" towards buying SA. Delphi 2007 was released on 16th May, with many people fuming mad they brought older versions of Delphi.

- In Year 2009, they offered discount pricing on Delphi 2009 on June-July period with "hints" towards buying SA. Delphi 2010 was released on 15th August, with many people fuming mad they brought older versions of Delphi.

The year is 2010 with Embarcadero giving ridiculous prices - Buy Delphi 2010 and get Full RAD studio, TMS controls, and Delphi 2010 handbook. (How about with free license to Delphi 2011 as well?)

Around 2 months from now, your reviewer won't be surprised Delphi 2011 will be released, and most people who brought Delphi 2010 without SA will be fuming mad they licensed "older versions" of Delphi instead.

Why two months period? So people who brought Delphi 2010 won't be entitled to free version of Delphi 2011.

Don't be surprised there will be Nick Hodges telling them to upgrade or buy SA to protect their investment, same like what happens every year (for past 3 years) around Delphi upgrade time.

And of course - the same vendors will hint of upgrade time - ReportBuilder upgrade time, InfoPower upgrade time to name a few vendors who post upgrades on each Delphi version.

:)

Wednesday, June 2, 2010

C/C++ love: large projects recompiles in 1 or 2 seconds.

Your reviewer recently got his hands on the latest Visual Studio 2010 and went overboard with it.

It was love at first install. For nearly 10 years, your reviewer tolerated slow compiles, rebuilds that took forever.

Your reviewer was astonished at the C/C++ rebuild time of 1 or 2 seconds with Visual Studio 2010.

As comparison with DelphiHater's own projects:

Visual C++ 2005 recompile - 2 minutes
Visual C++ 2005 rebuild - 8 minutes
Visual C++ 2005 with Incredibuild recompile - 1 minute
Visual C++ 2005 with Incredibuild rebuild - 6 minutes

Visual C++ 2008 recompile - 2 minutes
Visual C++ 2008 rebuild - 4 minutes
Visual C++ 2008 with Incredibuild recompile - 1.5 minutes +/-
Visual C++ 2008 with Incredibuild rebuild - 3 or 4 minutes

Visual C++ 2010 recompile - 1 or 2 seconds
Visual C++ rebuild - 30 seconds
Not thinking of using Incredibuild any more.


For comparative purposes/ CodeJock MFC recompile:
Visual C++ 2008 rebuild - 2 hours (all options)
Visual C++ 2008 with Incredibuild rebuild - 1 hour +/- (all options)
Average compile per sample project - 2 minutes

Visual C++ 2010 rebuild - 15 minutes (all options)
Average compile per sample project - 1 or 2 seconds

With Visual Studio 2010, your reviewer feels at home...

Since Visual Studio 2010 as fast as Delphi is, your reviewer remembers those old projects that he's been waiting to convert to 64-bits... now it's time to move it to 64-bits and slash costs.

TMS new installer does On-line activation

Someone does read this blog.

Your reviewer recently found out there is now on-line activation for TMS software.
Stay tuned for detailed security analysis soon...

:)