Friday, December 25, 2009

SA-Damn

Your reviewer gives gives his observation with Delphi and what is with this SA.

What is SA?
SA is a software subscription from Embarcadero (formerly CodeGear, Borland) which offers latest version (no more, no less).

This radical idea is similar to Microsoft's MSDN license. The trouble is "older copies" of Delphi, like Delphi 1, Delphi 2, or even Turbo Pascal are not available.

Why won't Embarcadero release older versions we can use?

What is this Discount?
Month before Delphi is offered, -
Borland would send an offer to everyone to buy
- Delphi 7 at discount (before 2005), then
- Delphi 2005 at discount before Delphi 2006, then
- Delphi 2007 at discount before Delphi 2009, and then
- Delphi 2009 at discount before Delphi 2010.

then offer an SA so people who buy will need to "upgrade". so the hapless people who brought Delphi (older) 1 month before they newer version came out, well, need to buy either SA or an upgrade fee? (very smart, IMHO).

Then, people would complain getting stuck with older versions after some time. It leaves sour taste on their mouth, such as getting Delphi 2007 (at discount) when Delphi 2009 came out, and stuck with "some subscription".


(Thus, don't be surprised if, when Delphi 2011 comes out, there will be some "stupid" discount for Delphi 2010.)


Sa-damned if you do, Sa-damned if you don't
- In Microsoft's MSDN model, you get access to every copy of Visual Studio, from PWB (Programmer's Work Bench) or better known as Programmer's Waste Basket, humble Basic Development Kit 6.0 (DOS). (Note: Visual Studio 6 was removed due to Java Limitation, but it's one of the best Visual Studio)

... Embarcadero's SA is just getting latest version, with no word about how to get older versions.


- In Microsoft's MSDN model, you could get well support, extensive help (see: MSDN docmentation), Windows licenses for Development.

... Delphi's help, press F1, and you get articles filled with C#, Visual Basic, C++ and you can't even find one decent help. If you ever get to use Delphi 2010, what kills Delphi is inadequate documentation. That means only old-timers can use Delphi, newbies gets put-off with all irrelevant help.


- In Microsoft's MSDN model, if you get pissed-off by a stupid MVP, you can write a letter to "1 Microsoft Way", or the chief MVP and complain about it, and that's probably why they made this MVP a yearly basis. Either the MVP acts responsibly, behave or, get kicked out.

... Embarcadero's Team B is otherwise. Even some of our readers posted about it.


- In Microsoft's MSDN, you can get it direct, avoiding all those unnecessary evil suppliers, or dealers.

... In Embarcader's SA, you have to deal with some dealer, some reseller, or somebody... Did anyone find out how much commissions are for Delphi/C++/Prism Architect/Ent/Professional? Why not find out and ask?


- In Microsoft's MSDN, you can get hot fixes and plenty of SDKs...

... In Embarcader's SA, almost all SDKs are third-party and every year, to pay for bugs-fixes. Why can't they just release Delphi 2009 with 64-bits, instead of Delphi 2011?



In the end, SA means constant money to Delphi, but how much money do I have to pay for bug-fixes? Maybe Thomas Miller said it right, 5 years ago -

Using Delphi 7, Thomas Miller ranted about getting fixes for DbExpress, fixes for Delphi 7.

Suppose fast forward from year 2001 to 2009, an average developer would pay US$600 * 6 (Delphi 2005, 2006, 2007, 2009, 2010) or nearly US$3000 to get updates, and over 8 years.


Aftermath
In 8 year's time - many things passed by -

- Delphi developers lost out on usable NET compiler, fair enough, there's now Prism. But there's C# and who will want to use Prism?

- Delphi developers lost out on Kylix, those who paid got bad/worse products with virtually no bug-fixes.

- Delphi developers lost out on 64-bits with such long wait.


which leads to this question -
Who gained enough money to pay for SA?
Who gained enough money to pay for SA for a team of developers?

The DelphiMatrix

Your reviewer was looking at several forums and came up with this parody:

Introducing the DelphiMatrix
Tales from the Scene #6

Your reviewer was wondering what's up on several forums, with phrases such as "I need a crack quickly", "help me plz!"...

Your reviewer was doing some digging and found the dominatrix Delphi.

Your reviewer interviews a hard-core submissive practitioner to find out more details:

First, you rent time off Delphi, she's very assertive and in complete control of your career.

You start in this room called "BDS", which means Borland Development Studio Bondage, Dominance and Submission.

- Bondage, because your career is glued to using Delphi all times, recommending Delphi, and using Delphi all times

- Dominance, because your career is influenced by Delphi's supposed dominance.

- Submission, because any insults towards Delphi means your career is virtually over.


Most professional developers slaves are working hard for peanuts or very low pay (think about it), too much work for too little gain. Think about it, how much would you ever get using Delphi?


I need a crack (of a whip), yeah!
Your reviewer was looking at the madness of cracks, and discovered Delphi needed utmost attention, utmost dedication, and lots of money. Delphi-users love cracks for some reason.

Maybe your reviewer should buy some 10" whips as gifts to his Delphi-user friends could get some real excitement!


I need a (fur) patch, plz!
When a Delphi developer needs some library, they could do it by 2 means: Get it legally or use a patch.

Maybe your reviewer should buy some furry outfits as gifts. Maybe they'll appreciate getting all those patches they need!


I need a hack (slap and some abuse)!
When a Delphi developer needs an application, they could buy it, but in most cases, they'll hack it and break copy-protection.

Maybe your reviewer should buy some metal chains, bondage materials...


Begging
One noticeable characteristic is unusual activity of begging going around. Your reviewer found DelphiMatrix to be very cash-hungry and very demanding.


The Dungeon Party
Your reviewer was looking at all those exciting third-parties he could attend, and get excited over it.

(If you come to think over it, most of the libraries will get cracked/hacked/patched anyway)


Thoughts
Your reviewer puts a funny take on this Delphi issue.

Just think about it

- all male groups who do nothing but talk about the DelphiMatrix all day long, dedicating their lives to her...


Merry Christmas + Happy New Year.

:)

Sunday, November 29, 2009

Parody: Winds of Changes

Google for: Winds of Changes by Scorpion.

Your reviewer was looking at site Wings of Wind and came with this idea that sums-up what problems Delphi has:


Can Delphi change?
There are thousands of Delphi developer wanting change...



The Delphi market is laid waste by poor and non-working versions of Delphi...



Whenever we discuss this, there would be flame wars...



Can our Arab users use it? It's too costly and they are revolting...



Can our chinese brothers use it? it costs too much... and hard to get affordable versions of Delphi...



Russian brothers are protesting Delphi is too expensive... and no jobs.



Change the DRM system, there are many people just trying to tear down the Berlin DRM wall...



Many Delphi developers are hoping for change...


See references:
1) SA Increased?
https://forums.embarcadero.com/thread.jspa?threadID=28739

2) Price of Delphi:
https://forums.embarcadero.com/thread.jspa?threadID=26778

3) Delphi too expensive:
https://forums.embarcadero.com/thread.jspa?threadID=28179


Take me to the magic of the moment
On a glory night
Where the delphi developers of tomorrow dream away
In the winds of wings

:)

Friday, November 27, 2009

Interesting Delphi alternative - RIA Ajax Gui Builder

Your reviewer was looking at doing his next Delphi-IntraWeb based app and was wondering what was around.

Costs
Let's say you have 5 people working on this project:

Price Proposal #1:
- Delphi 2010 enterprise * 5 = US$2499 * 5 = US$12,495
- TMS IntraWeb studio * 1 team license = US$1300
- MadExcept * 5 = US$99 = US$495
Others:
- Arcanatech Open-source
Total price for Delphi solution = US$14,290

- Possibly throw in RemObjects SDK, AnyDac, DataAbstract?, UniDac, PaxScript.
- Alternate would be kbmMW or Real-Thin-Client solution.

Price Proposal #2:
- WaveMaker community * 5 = US$0
- Apache = US$0
- (did not use anything else)


IntraWeb Alternatives
Your reviewer was looking around for credible alternatives to IntraWeb. Few days later, your reviewer found WaveMaker - www.wavemaker.com

There are several GUIs for JavaSript - ExtJS (commercial), Tibco General Interface, IBM WebSphere Mash, Aptana, SmartClient.com and WaveFusion.

For commercial solutions:
- ExtJs has bindings to Delphi (search around Torry's Delphi Pages),
- TibCo General Interface can communicate via SOAP (if you have RemObjects SOAP SDK) or Ajax/Json via DoJo.

[ExtJS is free if you are doing GPL work, like adding extra GPL code to your Delphi project and expecting nobody to find out about it. (smile)]

[TibCo, you have call them up for alternate payment methods, unless you want to get more frequent miles points on your credit card.]

Free offerings:
- Java/Eclipse have Ajax Toolkit you might want to look at
- IBM WebSphere assumes you use Java, the SOAP builder is interesting.

IBM WebSphere was impressive because it has Javascript GUI builder. TIBCO was also professionally done.

Aptana have embedded Javascript-server, the kind that could challenge IntraWeb into building stand-alone EXE files. It was very tastefully done. Your reviewer was impressed by DoJo and WaveMaker.


Problem #1: Learning many languages
The "problem" with Website development is, it's either using FireFox/XPCOM interface /FireBug with tedious coding with PHP/Java/Python/Perl.

That is:
- you can make a good site with Perl, to make "damn" good site with Perl, you would need very good Perl knowledge, JavaScript, DBI and so on.

- you can make a good site with PHP, to make "damn" good site with PHP, you need to learn PHP, PHP database interfaces, PHP Classes and so on.

- Ditto with Python, C#, NET, ColdFusion and Delphi/IntraWeb.

- The lingua franca you always had to learn were IE DOM Model, Firefox DOM Model, JavaScript and CSS.

There's also some Photoshop work. Your reviewer found free older versions of Corel Paintshop somewhere on Corel's website.


Problem #2: Desktop, Website?
The Win32 client does not play well with Web-based development tools. The familiar Delphi has IntraWeb (so long as you can pay for it), Visual C++ have ISAPI (Server-side), NET has two different classes, WebForms and WinForms.

People had to use embedded Cassini, mini-Java TomCat server (btw, most Java solutions have it, like Eclipse). The PHP folks have Apache/PHP stack (LAMP) under Windows if they wanted to serve-up "web-based Destkops"

Both Desktop programming and Web-based development are two different things.

Have you seen any successful IntraWeb EXE files lately? Me neither.


Problem #3: New protocols, open-standards
The Win32 client with Delphi, you have to use Indy (there's always the occasional Indy bashing going in the Borland newsgroups) or ICS or RemObjects (if you can see their HTTP server sources). If you have money, you can use the not-very-Clever components, which have not been updated for 2 years (to be fair, they updated it only for Delphi 2009 compatibility) in their history list. right.

There's JSON Ajax calls, any VCL for that?, or JMS?
(To be fair, there's Michael Justin's betasoft for JMS, with paid "trial").

It's pay, pay and pay to get involved into Web for Delphi.


Problem #4: GUI Builder?

This is where What you see is not what you get. With PHP, it would be constantly refreshing browser, emitting PHP + JavaScript, learning good PHP (server-side valiation) also means learning JavaScript, along with getting good IDE (such as UltraEdit or SlickEdit) that have Intellisense as well.

With Perl, there are those hard-core Perl-monk (:

I'm a Perl monk, I use Linux command-line, either VI or VIM, Emacs, :! to bash and then run Perl with stdin my Perl scripts and emit HTML on-scren, read it with lynx (text-based) HTML browser and program my way from there. Use Visual Studio? That would be way too tempting and over my head"

The problem is POST needs to parse data, GET needs to have pre-filled-in data or dynamic HTML web-pages, session needs to be handled, JavaScript needs to be emitted, and so on.

There is ASP.NET, JSF (Java Server Faces) which have direct GUI builders, until recently...

Your reviewer looked at IBM WebSphere, TibCo General Interface, SmartClient, ExtJS GUI builder, DoJo Bok(something) (by some Uncle on a blog).


DeskDrive WaveMaker
Your reviewer looked at Delphi 2010 and wondered if he should get this (and waste his Christmas bonus) or look at WaveMaker

The community was friendly, even so much your reviewer got assistance in hours. (Try posting on Embarcadero's forum and wait days for response).

The cost was free, as in US$0/- for community edition,

- the SOAP was working (did you try Delphi 2006, 2007, 2008, 2009's WSDL import only to plunk down a thousand more for RemObject's SDK?)

- the JSon was working correctly (why are there no examples to use JavaScript YUL (Yahoo Library) or DoJo toolkit with Delphi-back-end?)

- the speed was fast (did anyone try loading 1000 records?)

- the GUI looks amazing (did anyone making nice GUI in IntraWeb?)

- instant connections to databases (with Delphi, you plonk down more cash for this)

- plays well with C# (with DoJo.NET), Java, Perl and PHP.

There is really no need to play well with Delphi-socket-servers, since Delphi socket-server uses blocking code (hint: Indy), no ability to emit SOAP *with* serving JSon, HTTP or let alone connect to database or use scripting (what scripting?), without paying so much money.


The Love-Hate affair
This lead to a heated arguement here at DelphiHater's place:

DelphiLover: I need US$6,000 to buy RemObjects for the team, probably DataAbstract, or maybe RealThinClient or maybe AnyDac/or UniDac/ and some third-party to make HTTP server.

DelphiHater: How about I take US$6,000 from your bonus instead? :)

DelphiLover: We need a socket server and custom HTTP library.

DelphiHater: How about you use C#/NET or Java? There's Glassfish (Java stack) or IIS stack. You can even download Eclipse for free, Glassfish for free and use it. Visual Studio Lite is free, and you can build web-services that don't crash and burn.

DelphiLover: You really hate Delphi right?

DelphiHater: No, I don't hate Delphi, read what I wrote again, if I'm gonna make an RIA application, I need *reliable* products, things that work (24/7), things that perform as expected, things that play well with others. DelphiDeveloper, I can get you all these libraries, but if you cannot deliver results, whose fault is it?

DelphiLover: Why don't you just gimme the cash and I deliver results?

DelphiHater: After I give US$6000 (and pay for your salary) to the vendors, how long will it take for you to code the solution, make sure everything is tested, and then deliver results?

DelphiLover: humm...

DelphiHater: Did you see anyone else who made what you did? Did anyone see production sites for IntraWeb or Socket server successes? Why is it other people are successful using C# and Java and we're so behind in this game?

DelphiLover: Can we still develop a Win32 client?

DelphiHater: If the RIA client works well, customer is happy, there is really no need to use Delphi anymore.

Take these as words of wisdom.


:)

Forums & Privacy

Your reviewer was looking at a pirate "forum for sale" (funny) and wondering what kind of data privacy concerns it would have (even more funnier).


Your reviewer will raise following points:

1) Your reviewer thinks this is golden opportunity. Why constantly try to hack these boards and dump the database when you can "buy" the forum, slowly by slowly cherry pick them for "follow-up action". :)

2) Yippe yIP. Since the board also contains list of IP addresses, we can find out who the uploaders are, where they come from....

Hey bro, did you see the Bait Car(tm) show?
Google for Bait Car.

Did you see the Master-Bait car?
Me neither.

:)

Thursday, November 26, 2009

Kudos

From FH, Brazil:
"Amigos, já viram este blog: http://delphihaters.blogspot.com
Vamos convir que 90% do que é falado ali é verdade..."

From J:
"Very accurate"
...

"Let me cite Delphi Hater, he is absolutely accurate regarding this problem"
(of 64-bits)

Monday, November 23, 2009

Delphi Programming Paradise

Delphi Programming Paradise?
Google for Amish Paradise. You'll find some YouTube videos

Religious Delphi Programming

As I walk through the IDE where I harvest my code
I take a look at my wife and realize she's very plain
But that's just perfect for an Amish programmer like me
You know, I shun fancy things like web-programming

At 4:30 in the morning I'm coding the Win32 app,
Jedediah tests the GUI and Jacob builds the installers... fool
And I've been coding' and testin' so long that
Even Ezekiel thinks that my mind is gone

I'm a developer in Delphi Land, I'm into discipline
Got a Bible in my hand and a beard on my chin
But if I finish all of my codes and you finish thine
Then tonight we're gonna party like it's 1995*

[*When Delphi 1 came out]

We've been spending most our lives
Living in an Delphi paradise
I've coded components once or twice
Living in an Delphi paradise
It's hard work and sacrifice
Living in an Delphi paradise
We sell applications at discount price*
Living in an Delphi paradise

[* like US$24.99]

A C++ boy kicked me in the butt last week
I just smiled at him and I turned the other cheek
I really don't care, in fact I wish him well
'Cause I'll be laughing my head off when he's burning in hell

But I ain't never punched a customer even if he deserved it
An Amish Developer with a 'tude? You know that's unheard of

I never wear Perl buttons but I got a cool (T)hat class
And my friendies agree my apps really look good in Vista, fool

If you come to visit you'll be bored to tears
We haven't even used Flash or Silverlight in 300 years
But we ain't really quaint, so please don't point and stare
We're just technologically impaired

There's no PHP, no JavaScript, no dot-Nyet*
Not a single luxury
Like Robinson Crusoe
It's as primitive as can be

[* Russian for "NO" or "Not NET".]

We've been spending most our lives
Living in an Delphi paradise
We're just plain and simple guys
Living in an Delphi paradise

There's no time for sin and vice
Living in an Delphi paradise
We don't fight, we all play nice
Living in an Delphi paradise

Hitchin' up the bug tracker, churnin' lots of code
Run the build on Monday, soon I'll build another
Think you're really righteous? Think you're pure in heart?

Well, I know I'm a million times as humble as thou art
I'm the pious guy the little Amlettes wanna be like
On my knees day and night scorin' points for the afterlife
So don't be vain and don't be whiny
Or else, my brother, I might have to get medieval on the code-review hiney :)

We've been spending most our lives
Living in an Delphi paradise
We're all crazy Delphi'lites
Living in an Delphi paradise
There's no Semaphores or memory leaks
Living in an Delphi paradise
But you'd probably think it bites
Living in an Delphi paradise
Ahahahahahahahahahahahahah yech


:)

[corrections made on incorrect year]

Saturday, November 14, 2009

Delphi Ultimatum

The most lovely Delphi message posted.

I had the most weirdest dream...

What would DelphiHater do, if he was in charge of Delphi and wanted to make Delphi successful?

First thing, DelphiHater would let many old timers leave Embarcadero. The kind of bad behavior on the newsgroups and antics would make many new customers uncomfortable with them.

Second, get rid of the blowhard Delphi fans. Sure, we like them, but when you call newcomers "idiots", "morons", and other expletives on the newsgroups, they have to go, or get warnings. So what if they are idiots? At least they asked for help. Get rid of all the troll-crossings so the new comers feel at home and ready to ask questions. At least that was the idea of Joel Spoolsky's StackOverflow.com

Third, cut-off the NNTP supply to google and then host it in-house, so that all the Adsense money can come into Embcardero, not some Usenet site. DelphiHater might consider suing some of the upstream providers that suck on Embcardero's Usenet for Adsense revenues and copyright (since they also provide extra services, like free downloads of copyrighted materials)

Forth, hire some more Quality Assurance and documentation. Why not ask some whitehouse interns to do Quality Assurance and Documentation? They seem to make sure the President gets quality service and kept upto-date on state of affairs.

Fifth, give money to fix bugs. If US$20 was given to fix all the damn bugs in Delphi, it would cost US$2,000,000 to fix (approx 100,000 bugs) Delphi, which would be cheaper than the US$100,000,000 a year Borland used to lose on Delphi. At least it would keep Andy J (of the Delphi Speedup Fame) and other hackers interested in Delphi.

Sixth, DelphiHater would consider buying over GExperts or CNPack, or even Castalia and free it from the GPL license and then build these features into the IDE.

Seventh, DelphiHater would make peace with Mark Miller of CodeRush and give him what he wants rather than some half-dead Editor Integration. BTW, get rid of that customized TXControl nonsense editor. There are plenty of Syntax-based Editor that Embcardero can use that is extensive, integrated and works with Delphi.

Eight, DelphiHater would hire fresh blood for the DCG (Delphi Code Generator) back-end. If the people from Borlando and CodeGearo cannot understand I64, then if new people can, get them to make a fresh decent DCC64.EXE that actually works. Maybe hire some people from QUT (Queensland University of Technology), the people who made that Pascal-clone in NET. I'm sure there are plenty of students who would be thrilled to make exciting career.

Nine, DelphiHater would tell Indy Pit Crew and team to stop this nonsense on newsgroups and get paid people to fix all those annoying bugs in Indy. Either way, either you give decent working Indy code, or just drop the whole Indy and get something decent, like beefing up ICS or RemObjects Soap or some TCP/IP library that actually works 100% during run-time, instead of crashing sometimes or working half-the-time.

Ten, DelphiHater would call to tender for another VCL Library for Internet. or even Scripted Delphi that works with IIS. Euro 600 per person for IntraWeb is waay too expensive.

Eleven, Make that spirit of Delphi award give money. A little money goes a long way to oil the wheels of Delphi...

Twelve, ask what happened to Team Spirit Nevrona. Their Rave report-writer is starting to smell. Either they start to maintain it, or FastReports included with Delphi sounds nice.

Thirteen, the Database drivers. Either open-source code, or give paid access (hint: Payment + NDA) to developers interested in the source codes for the Database Drivers or even BDE. Maybe someone will come up with something better than the Bullshit Database Engine (BDE) or even fix all those damn bugs in it.

Fourteen, pay people to answer question. Redeem points for prizes or free copies of Delphi. Then those lonely posts on the newsgroups will feel some love.

Fifteen, start to question suppliers who supplied the third-party found in Delphi, to make sure they are accountable for their work. It's no use giving out a Partner CD with nearly/almost useless products. BTW. Did someone do QA on the Partner CD?

Sixteen, instead of subscriptions, consider alternative licensing methods. Since the Chinese and Iranians use unpaid copies of Delphi, here's an interesting model. License by usage (checked by on-line activation). For example, pay US$2,000 and get a US$1,000 refund for license compliance.

Seventeen, there are already license managers that can detect Virtual Machine and usage. Since those license managers can activate and deactivate inside VMs, then why don't Delphi's license manager do same?

Eighteen, the Borland Certification is almost useless. It confers no benefits, no additional statuses and people who go for it, get no benefits. Either scrap it, or go for community model where people pass competency tests, or make the course-ware very public so more people get interested to learn Delphi.

Nineteen, Java has J2EE server. Delphi should have the same. Anyone for Delphi version of TomCat that serves Pascal script-lets? or Pascal scripts that bind to SOAP? Maybe Delphi JMI or Delphi ODBC adapters.

Twenty, ensure interoperability with basic standards, like SOAP, JMI, JSON and basic working XML parser that actually works. At least, upgrade Jeff Rafter's / Defined XML wrappers to work in Delphi 2009, get StreaSec II to work in Delphi 2009. or at least get unicode encryption to work, or so it produces same results as in NET and Java.

Twenty-one, put some power into the TurboPower-failure. There is plenty of code that still uses legacy TurboPower things.

Twenty-two, reward customer support staff based on feedback. Too many bad support calls, fire them. Maybe they are actually paid to do disservice?

Twenty-three. Buy over TMS or LMD, at least there will be 300 new components. Why not buy DevExpress and FastReports. There will be excellent grid, working report writer and decent edit controls.

Twenty-four. Buy over a working Profiler or Memory manager that actually works. Right now you cannot exactly profile without paying loads of cash, and you cannot check OLE string leaks, errors, or resource leaks...

Twenty-five. Fix the dumb Borland C++ Builder so that with more C++ compliance similar to Gnu C++ or Microsoft C++, people would say that's stupid, but read Andy J's blog how he hates C++ Builder. Then at least DelphiHater can use more C++ libraries than buy wrappers from Yunqua (The Delphi Inspiration).

Twenty-six. Where is BOLD? Why is it not available since Delphi 2007 Arch. had it and disappeared in Delphi 2009 Unicode version? When would a low-cost version be available for this?



The Delphi Ultimatum is really about business improvements.
Is Embcardero listening?

Q: What killed Delphi? A: Greed.

Your reviewer was looking at the Delphi economy and wondered what was wrong.

Delphi Economics 101
The idea was this, there are consumers (Delphi programmers), producers (Third-party vendors or "3rd party"), distributors (shops). The producers ("3rd party") provide products ("components", "libraries") and services ("programming services") to consumers. All of this ecosystem, is bound by Borland/DevCo/CodeGear/Embarcadero.

Delphi Market
The Delphi Market is unique that all the players produce code for Delphi/C++Builder. The market is dominated by few players who provide all-in-one libraries (e.g., TMS, LMD, DevExpress) and must-have libraries in specialized areas.

In an ideal market (so it goes) everyone should be earning money, the consumers should be making killer apps, making good database apps, the producers should be doing cutting-edge research and development to make the next generation of components, the shops should be selling plenty of products. Borland/DevCo/CodeGear/Embcarcadero should be earning millions, if not billions of dollars and reporting gains every year...

The cash cow?
It is interesting to note or seem that nobody is earning money...

- At the top, Borland was bleeding money and making millions of dollars of losses, the producers (3rd party) vendors were losing money.

- If you have access to, say, BS1 private forums, you can see BS/1 Trevor Davis total sales, or DevExpress private forums and see Julian Bucknall lament about poor sales, ditto for TurboPower private newsgroups before it crashed and burned.

- The shops say that Delphi stays on the shelf for many months before it is brought...

- The consumers complain about high costs, poor service, poorly made products.

Prices kept artificially high...
Since everyone make "losses", they justify that prices have to be kept high to prevent more losses from happening. Would you pay thousands for virtually worthless goods, or a subscription to nothing you can enjoy?

Dunn & Bradstreet Credit Reports, Equifax Credit Reports, and others
While Borland's, TurboPower's, Sybase (Advantage Database) balance sheet is available publicly, getting information about private companies is hard to get.

Your reviewer DelphiHater was shocked at what he found... Most companies were reporting profits year after year, companies that just sold components and no updates were earning average US$80,000 profits on US$200,0000 gross earnings (40%) (btw, very good profits for very little or no work), respected companies were doing US$500,000 to US$4,000,000 gross earnings a year with average 30%-60% profits. Your reviewer started to wonder...

Prices kept very high to report high profits
Your reviewer was surprised by those credit reports, the obscene profit margins - you cannot say you are losing money, when you make high profits.

Delphi the black hole cash cow
It is very evident that Delphi is starting to become the cash-cow to be milked to the last dollar... The consumers are already forced to buy additional copies of Delphi for no reason (yearly SAs), the producers would be changing sales tactics to get as much money as possible by changing models to annual subscriptions, the shops would be going by region (e.g., a seller who just sells to BElgium-(something)-NEtherlands area) to protect their turf.

In traditional economics, with high prices, big profits margins, such market would be bound for severe correction soon...

Greed, Excesses
The problem is, with all that additional money, there should be plenty of Research and Development (R&D) money, but there is very little to show. DevExpress VCL has no report writer (it was promised but...), TMS only new libraries are mostly bug-fixes and re-hash of older components, LMD Pack and ElPack have just be mostly bug-fixing... ModelMaker just mostly bug-fixes too...

Corrections
Sooner or later, the consumers will revolt and refuse to pay, this is evident in this week's newsgroup posting, when Daniel T., the owner of RealThinClient * discounted his product 90% and then nobody wants to pay for next year's Euro (whatever) subscription fees.

The consumers who pay for Delphi got really put-off with Delphi's registration model and shoddy on-line activation system.

The producers who make libraries suddenly get unhappy customers wanting not to pay by using non-legal products (you know...)

[*See: https://forums.embarcadero.com/thread.jspa?threadID=28054]

Conclusions
Is the glass half empty, or half-full? Maybe the best answer is, don't kill the cash cow by denying it grass to eat, and don't over-milk the cow that it dies...

But wait, maybe the cow is nearly dead because the cow is over-milked and even though there is new grass, nothing will stop it's demise.

There can be two places left to go:
- Either the Delphi Ecosystem will have to undergo severe correction with massive price discounts, or lower prices for attracting new blood,

- Everything remains the same... and ...

"I recently switched to 64-bit Windows and dumped TotalCommander for 64-bit alternative, used my own private PHP 64-bit web-based email client on my 64-bit web-server, I started to move everything to 64-bit native applications..."

"Delphi-based apps? There's no 64-bit Delphi, and nothing new. Just paying more and more unwanted bills every year"

"There's a big list of great (expensive) applications made with Delphi, but Websites made with Delphi? That would be mostly empty list"

If there was the day after the fall, it would be, Delphi has priced itself into oblivion, with C#, NET, Python, PHP and others, who cares?

Maybe your reviewer might, those who use Delphi might care, but you know what?

Maybe the grass is greener at the other side, that PHP jobs, Java Jobs, and VB jobs pay more money, and all the money for Delphi is gone before the first dime is made...

:)

Last notes
This article will be very hard to challenge without getting the Dunn & Bradstreet, Equifax and other credit report data. By the way, why not take the challenge? You'll be surprised at what you see.

Friday, November 13, 2009

Fan Mail: Responses to Dark Humour

Your reviewer got responses to this post.

You can see some proof for yourself...

See:
1) https://forums.embarcadero.com/thread.jspa?messageID=105119

2) SVCom annual licenses
https://forums.embarcadero.com/thread.jspa?threadID=27612

do I need also to write about DevExpress annual subscriptions, RemObjects... zzz...

:)

Wednesday, November 11, 2009

How not to teach Delphi

Your reviewer, DelphiHater was looking at some syllabus or course overview for teaching software development 101.

Computer Sciences 101

Computer programming starts off with learning basic concepts, such as 2^ compliments, what AND, OR, NOT, NAND, NOR, XOR can be easily taught without learning programming language. What hexadecimal, octal, binary, decimal is, what signed and unsigned binary coded digits are, 2^s complement addition, subtraction, division and multiplication are to create digital circuits (such as using your 4001, 4002 chips). timers (the traditional 555 timer), capacitors and resistors.

Computer studies students should also be expected to learn basic statistics and calculus, along with either healthy dose of principles of accounting or business (human resources).

then, learning about Windows, DOS, how to use Access*, Word, PowerPoint and Excel.

(used to be DBase before Borland brought Ashton-Tate and trashed DBase)

Wearing the Computer Science Lecturer's Hat

In order to learn about software development, you have to pick a language to learn. As the computer science lecturer, you would need to pick 2GL, 3GL, 4GL language.

2GL

For 2GL language, it would be basic assembly knowledge. Since Delphi only does Win32 assembly, more suitable language such as Microsoft Assembler with reference to Ralf Brown's Interrupt list.

Explain why using serial port under real-mode / or protected mode assembly is important in embedded systems development.

Do you consider a smart telephone as an embedded system with TI (Texas Instrument) DSP (Digital Sound processor), DTMF pad (Dial Tone Modulation Frequencies) a specialized computer?

Make students interested in why assembly is important to learn. For example, making those cool gameboy games, Sony PSP portable requires deep knowledge of assembly.

(While your reviewer has seen Free Pascal Gameboy compiler, I doubt Nintendo would allow unlicensed materials into their Gameboy system. Did anyone see Action 52, the unlicensed NES game?)

3GL - Choices

For 3GL, there is choice of Basic, C++ and... Pascal.

While some people are quick to dismiss Basic (the Delphi people call it Visual Bullshit), there is Free Basic, which seems to be better than Free Pascal, DarkBasic, which makes Kickass games (show me one good Delphi Game SDK), Real Basic which seems to do Linux better, PowerBasic the step-child of TurboPascal abandoned by Borland.

To be fair, ask any Delphi developer to make good game using Delphi, or Linux application, or MacOSX application. Two things will happen - the person will just quit (maybe I'll hire someone else instead) or lame around the Borland newsgroup asking for answers.

None of the Delphi developers can ever put up with the Basic, but yet, if you look closely, do you see close-minded individuals unable to learn more than just Delphi? At least some people started "getting ideas" that other languages were much better and make more money.

C/C++

While Delphi people hate C++, your reviewer will cover why it is important to learn C++.

Other than the curly braces issue, semantic (begin/end), newsgroup wars, there is scripted C (Python), interpreted C (Java, C#, NET), native-compiler (Visual C++, GNU C++).

The common denominator is the amount of money you make from C/C++. Let's take for example, an average Visual C++ job and Delphi Job.

The most stunning examples is in mobile, embedded and financial markets. The latest iPhone apps are written in Objective C, which seem to produce 100,000 independent applications for the iPhone, yet Borland/CodeGear/Embcardero could not, over the years, bother with Windows Mobile or Palm.

In embedded market, the value is in the hardware and software combination. While most Delphi programmers will moan about a dongle or USB copy-protection, what about hardware-based MP3 players, USB peripherals, cartridge-based games? Then the Delphi programmer who tried to make a basic Windows-MP3 player, or connect his app to USB, or make a ROM-based Win32 application would probably earn US$0 (zero) dollars.

[Okay, to be fair, show me one good Win32-based Media Player made in Delphi, and I will show you 10 Media Players written in C++, let's not even talk about hardware based devices (e.g., MP3 players selling for US$200 a pop) and 64-bit compatible Media players]

For cartridges, ROM-based applications, your reviewer played some good games, such as Mario, Sonic, Wario, etc. Those still make money.

[Show me one good gaming SDK to make gameboy games using FreePascal, you can google around for plenty of GameBoy-compatible, PSP-compatible C/C++ SDKs around]

Back to the review

The usual tirade of computer concepts - stacks, queues, trees, graphs, inverted tables, indexes.

[While your reviewer thinks Julian Bucknall would be fond of them, sadly, few people buy his book.]

Coming to books. Which book would be suitable for students to learn Delphi? with this Delphi book economy-collapse, it would be much wiser to teach C/C++, Java, or even PHP.

4GL would be SAP/ABAP (if your school is a certified SAP/R3 school), SQL, Mathematica.

Delphi as a teaching choice

Let's say for example, your reviewer selects to teach Delphi to students.

The first obstacle is licensing. Your reviewer had very negative experiences with former Borlanders:

- Suppose you want to tell your students to post to the internet, and then to learn how to use UseNet, then google around, and then find old 1980's usenet personal flame wars and stupid insults posted against your lecturer. How would the lecturer feel? Yet, this flaming and insults continues to this very day.

- How do you tell students that Borland newsgroup is mostly not moderated and any stupid post with student's name becomes an embarrassing part of their education?

- How do you tell students not to confront such person nicknamed Troll or Schmuck
who feels Delphi is superior to all languages, yet few jobs exists?

- How to tell to "ignore" anti-islamic posts frequently posted which are inflammatory to Muslims? (See Off-topic)

They are no easy answers.

Book Choices

Your reviewer looked at several books, but sadly, most are out of print. Most publishers will not even publish Delphi books anymore, because they are unprofitable.

Career Choices

Your reviewer does not wish for others to repeat the same poor career choices to his students. Once is enough.

Suitability

Your reviewer, looking at Delphi, wonders if the same concepts that are in C/C++ can be taught.

Someone on certain forum said it nicely:

----------------------
Quoted:
Obviously you are one of the guys programming an image editor like this:

1. Drop a FileLoader component on your form
2. Drop a PhotoShop component on your form
3. Drop a DevExpress multi mega component on your form
4. Drop a FileSaver component on your form
5. Tell your client the project is finished.

Wake up man, real life doesn't work that way ...
----------------------

The danger is when you wake up, you don't learn anything. The students will be forever dependent on "others" for parts of their work and end result is wanna-be work with little or no value-adding.

Conclusions

Your reviewer, wearing the Computer Science Lecturer hat, took hard look at Delphi and wonders...

If your reviewer teaches Delphi to students, my students will be doomed to the same bad career, poor work, get fired, and all sorts of things education was supposed to prevent.

Don't take my word for it. Those who don't learn from the mistakes of the past are destined to repeat them.

Friday, November 6, 2009

Dark Humor: Delphi Loans

There's a new savings & loan company - EmbarLoanero

(Quoted from some forum)
I installed RAD Studio 2010 and activate by using (Doctor[1] Al's Patch).

but when I click on RAD Studio or Delphi 2010 or C++ Builder 2010 Icons to open Web Page Showed and Nothing Runs !!

The product goes to this page:
http://www.embarcadero.com/products/how-to-buy-map


Q: How do you buy Delphi?
A: You start by taking the "Professional" loan. This will cost you US$75 per month or approx US$900 a year.

You can also take the "Enterprise" loan. This will cost you US$210 per month or US$2,520 a year.

You can also roll-over ("upgrade") your existing loan plan to the next year at US$35 per month or US$420 a year.

Q: How will these Delphi loans help me?
A: It depends on what you do:

- You can be kind soul and help as many people out, but remember, when the times comes to pay, you must pay or else your Delphi stops working!

- You can work very hard, working day and night. and then deduct the money from your payroll (or your employee's payroll).

Q: Can I get good job after getting a Delphi loan?
A: Google for "Delphi Jobs" there are plenty of jobs! (Yeah, right).

Q: What happens if I break the Delphi license?
A: Each IP address can be traced back to the company who leased the IP address (your company name or your employer's name is on that IP block), and eventually someone will call the lawyers and sue the employer or company for money.

It's really nice because I heard someone paid US$20,000 for 1 box of Delphi. Bill me later!

Q: What happens if I refuse to pay for Delphi?
A: The Feds comes and arrest you. Have you not heard? Not paying for what you buy is against the law?

Hey bro! How are you? Long time no see? Where have you been?
Oh! errr. I've been in jail for four years.
Are you okay? you look really tired!
Ohh, I'm feeling sickly and I've got HIV+
Err.. see you later...

Q: How can I stop this loan?
A: You can stop the loan anytime by not using Delphi anymore.

Think about it... ** Free your Mind **

[1] Doctor or General Practitioner (GP)

Thursday, October 22, 2009

Ionworx ICE License security analysis re-review

Your reviewer re-reviews security claims found in latest IonWorx IceLicense:

Ionworx uses PE Compact to protect itself:



Then Ionworx uses TurboPower LockBox for it's protection scheme:



Most of IceLicense can be easily reversed:



Most of the protections against debuggers, Anti-cracks are mostly useless because they do not work against latest versions of those debuggers, anti-cracks. In fact, those debuggers and anti-crackers are so much more advanced they skip all the anti-debug, anti-(whatever) that IonWorx uses to protect itself.

In the picture above, shows two concurrent statements, "_TForm1_IceLicense1TrialExpired" calling @Dialogs@MessageDlg$qqrx17System@AnsiString19Dialogs (which is ShowMessage in other words)

with data at word_47EAC0 being moved into it. What is data at word_47EAC0? It is shown below in the same picture:

'Your trial period has been expired, please register now!'

Now suppose your reviewer flips some bytes to disable this message box, it can easily be done:



Maybe after given an extended trial, I should register IceLicense later...

Most of ICE License algorithms can easily be reconstructed back to original source codes.



Claims and counter-claims
ICE License does not live upto it's promise as a robust copy-protection scheme. Most of the users who buy this get burned or switch to other copy-protection schemes.

It does not give any security towards copy-protection. The methods, algorithms how ICE License works are easily reversible. The claims may fool a beginner with no knowledge of copy protection, but it cannot fool experts.

Anti-Debugging mechanisms can easily be bypassed, using knowledge of assembly. The Key Generator uses TurboPower LockBox (MPL). The run-time source code encryption is also false because it uses simple XOR instead of virtualization, code regeneration found in higher end copy protection mechanisms.

The claim of secure strings is based on TurboPower Lockbox package, not the original package itself. You can use TurboPower LockBox to encrypt strings securely.

ICE License is not the first to prevent Illegal license exportation, there are many others which actually work, such as WinLicense, ExeCrypt.

NetWork protection does not protect more than >= 255 computers because it uses NetBios.

Conclusion
Your reviewer is not out to take revenge on IonWorx, instead, it is to inform that most of the advertiser's claim are misleading and against careful checks, they are false.


March 2013 update
See updated article at Ionworx Re-review, Ionworx icelicense reveiwed
See Article corrections
See related article: Ionworx SerialSheild Review

Sunday, October 18, 2009

Perhaps an end...

Hi,

I am going on long journey and new job, new life, and all the old, this Delphi thing, i looked back at it, and looking forward at my new job, i can perhaps, forget about the old.

It had to come to an end somewhere, it was pointless to constantly complain about Delphi. The newer things, SilverLight, ASP.NET, C#, Cloud computing, have all taken over Delphi...

New developments are all C#, Java, PHP, Python, JavaScript, SQL, all server based, cloud-computing.

Does it matter at end of day? Only those who have means and money to finance the next round of software matter. Those who do not, just have to shut-up.

There are few jobs-openings in Delphi, there are few expert job openings in Delphi, only new job-openings are in C++ and NET... Even to write a basic website is in C#/Java/PHP/Perl/Python/RubyOnRails. Even to write a good game needs either DarkBasic or Visual C++ with Torque Engine.

Saturday, October 17, 2009

Vendor Hacking

Did you know if your website is probably leaking some confidential information?

Your reviewer looked at found several insecure websites owned by some Delphi vendors ... which could lead to unwanted logins and downloads.

Unfamiliar Questions
Q1: Is your website secure, like only you can Login into, or 101 people can illegally login from your site?

Q2: Did you ever consider updating that Windows server with all service packs, and with all updates?

Q3: Did you consider getting latest version of that forum you use, you know, like PHPBb, or latest Snitz forum before someone review your site for holes?

Q4: Did you ever consider securing MySQL access, so only you can use it, or is there 50 extra "guest logins" to access your forum, and possibly that private WordPress blog on your site? Also that private X-rated photoblog, or maybe Dear Diary site :)

Q5: Did you ever consider securing MSSQL access to your server, so only you can use it, Maybe someone from China or maybe South Africa can access your MSSQL server found on your server? Maybe they downloaded some extra stuff, like that version control backup!

Q6: Did you ever consider securing mail server, you know, someone else could be reading your email? (They do it by getting the mail, and then not deleting the content.)

Q7: Is someone else having extra access to your FTP site? Did Paul, John, or maybe Norman Bates (from Psycho) recently login or running a password attack exploit on your FTP? Have you consider getting an SSL/FTP site instead?

Q8: Did you ever consider buying a high-end firewall for your server and constant anti-virus scanning? you know, to prevent those extra ports from opening without your knowledge?

Q9: Did you ever consider looking at the Windows User list, are there more users than physical users?, More administrators than normal users?

Q10: Did you ever consider someone else maybe using your website or servers without your knowledge? Maybe there are extra unwanted directories or maybe extra ISO files for no reason? Did you look hard enough?

Q11: Does your server send spam without your knowledge? Or maybe have some extra unwanted IP address?

Maybe things go bonk at night, but really, have a hard review of security on your servers. But of course, for some vendors, your reviewer just keeps quiet...

Your reviewer, DelphiHater once told a few Delphi Vendors about some stupid security issue on their website, and was told to *********-OFF and get lost.

but really, who cares? they would shoot the messenger, maybe the vendor deserves it.

Vendor Fail

Your reviewer was thinking about some vendors who monitor rapidshare and other file-uploading websites. They would monitor them and then get the file deleted...

Here's an interesting suggestion, why not "do not" monitor them and allow unconditional downloading?

There's this thing called free-usage, you know, what the internet is? You give them all the months and months of hard work you did, only to get some technical support request on some warez forum, because your forum is filled with spam.

The people are asking, Request, this component, and it's your work. Should you allow them to have "unconditional and free access" to your months and months of work? They should be able to use it without problems, right?

The vendor there, didn't do such good job of testing, so the people who downloaded for free, they tested it well, and gave unbiased feedback. Like how it crashed, or how they replaced your components for another set of components, like your competitor's!, right!.

Or maybe, the vendor did not do such good job of documentation, and complain how the documentation is "pure garbage" and they needed to google around for answers. Or maybe there is simply no help files, no demos or nothing. Maybe some stupid DCUs nobody can even use.

Then, think about the costs. The vendor spend hours and hours writing the library, making component after component, and put a US$299 price tag for the library, which for some reason, nobody can seem to pay?

Then, think about it, the Euro 2599 cost for Delphi 2010, who is going to pay it? someone must have come up with the money to pay it... the rent for the vendor's house, or mortgage for the vendor's house?

Maybe it's time to have a hard look around, and maybe start considering another market, another job..., oh wait, maybe there's money from free, like:

1,000 downloads x 0 paid customers = US$0
10,000 rapidshare downloads x 0 paid customers = US$0

The components are free! The vendor is getting lots of unpaid customers but, zero paid customers!

Example Needs
Your reviewer was looking at "very urgent" need for BIDI (Bi_Directional) input, but sadly, none of the current developers, from DevExpress, TMS and even LMD do not have it. Why? Because none of those asking for it are willing to pay for it. No pay, no components.

Another example, is some funny times-table component, which is custom-made string-grid with custom-draw in it. Help me! I need this free of charge, can you help me? I won't even pay you for it, I'll spit on you when done, you won't even get any profits from the final work. :)

Another example, is Explorer Shell Namespace (Namespace) Integration. It's really easy in C++, but hard to do in Delphi because nobody bothered to translate the headers from C++ to Delphi (probably because the former Jedi person who did it got insulted, personal attacks), and the Jedi team then stopped the C++ conversions and focus on Jedit Component Library and J-VCL.

More Examples
I really need AppControls Delphi 2009/Delphi 2010 edition, the same one DelphiHater reviewed*! ... (Maybe the reason why there is no AppControls is because the vendor has no money to pay for the original version and cannot release a Delphi 2009 edition).

I also need either VCLZip or some Zipping tool for Delphi 2009/2010 with sources please! Or maybe MadExcept for D2009/D2009, please help me!

Conclusion
Help-me, I very, very much need help for free libraries and components, to build my product that sells for thousands of dollars, but nothing I will ever pay!

[* Your reviewer updated AppControls to D2009/D2010]

Friday, October 16, 2009

QA Dept: Skype review

Your reviewer had an itch for some VOIP ideas, so decided to look around.

The famous Skype uses:

Delphi 2007,
- TNT Controls, such as TNT Menus, TNTWideStrings, TNTShapeLabel, TNTLabel, TNTEdit, TNTRichEdit, TNTRegistry,

- Jedi Security Library, (some Jedi libs, like Windows Address Book interface; not all)

- TuboPower Abbrevia, ZLib 1.2.3

- Akadia XML (Freeware with sources)

- Indy, MD5, SHA, FGIntRSA (Part of Indy)

- Alcinoe CPUID

- Indy modified with ZeroC's ICE communication (www.zeroc.com)
[Did you see their forum, people were begging for a Delphi edition, but with no Delphi sales, no Delphi version :)]

- Global Sound library


Others:

- Older versions of Skype "used" to use Julian's WPTools, maybe it got replaced with Unicode TRichEdit.

Thursday, October 15, 2009

Fan mail: Add-in-Express copy-protection, BrickSoft copy-protection dissected

Your reviewer sees two gold standards in copy-protection, namely, Add-in-Express copy-protection and BrickSoft copy-protection.

It also gives some ideas to "other" Delphi vendors to make their products better and better.

Defense #1, is raising prices. Make those who want full sources pay more than a thousand dollars. That's the correct price to deter those warez teams. If you price it US$200 or US$300 dollars, do not be surprised warez teams using fake credit cards will start making those fake credit cards orders.

Defense #2, is address-verification. Verify those credit card holders so that anyone from Russia, such as Rocky ("Mr. Protas & Friends") can be easily found out. Why did your reviewer know about Mr. Protas? I guess someone had an insecure customer site and you could view all the blackedlist customers :)

Defense #3, is no support for unpaid users. Make them pay and give them a 30-days money back guarantee. Really good idea, since credit-card frauds will not get any support. That means those who get it "illegally" get no support what-so-ever.

Defense #4, make everyone who register on forum use their real name, so JohnDoe do not have a chance to hide.

Defense #5, is use on-line activation. Have a person who is from India and then use the software in Pakistan? No way, the setup will just fail. Since the "key" can be validated online (contrary to what they say), all it takes is just disable the customer and end of problem.

Defense #6, is use subscription model, make those who need it pay, really pay. Since those good-for-nothing customers who use pirated software won't pay, that cuts off a line of "updates" for them.

Defense #7, is use water-marking. Did you know that the source code files are watermarked? Maybe when you share your sources with the world, just remember that someone paid for it, and he's going to get his license canceled.

Defense #8, monitor RapidShare, and those file-sharing sites. Cut off those illegal downloads as quickly as they are uploaded.

Defense #9, call your customers. Even SMS them and ask them to type down the contents of SMS to email. It cuts down on software piracy by 99% since hand-phones can be much easily traced down to a RealName(tm) than some anonymous pirate.

Defense #10, copy-protect the BPLs and give BPL trials with very restricted sources. Make sure the design-time is copy-protected with multiple layers. That allows Delphi to load, and since Delphi is normally excluded from firewall, and make sure you call home every once in while, too.

Defense #11, give machine specific hardware keys to copy-protected BPLs. That means that the casual pirate cannot share his copy of Add-in-Express with someone else, such as his co-worker, or maybe the 20-people Development team in India using 1 copy of Add-in-Express. No, really.

Defense #12, since the BPLs are copy-protected with machine specific hardware keys, code is watermarked, it becomes much easier to trace down who leaked it, and of course, since the BPLs are copy-protected, it will not work. It means game-over for people trying to use the pirated versions.

Defense #13, is use different hardware specific keys for Armadillo. Contrary to what customers think, Armadillo still have some life in it, like stopping all but the most expert crackers. Anyone who spends a month trying to crack 5 or 6 copy-protected files with different Armadillo keys and strip-out the copy-protection will have a nice time, really nice time.

Defense #14, is use all the features in Armadillo, like nano-mites, code splicing. Then let it load into Delphi. Sure, it works 100%, but trying to crack it will be like, ...,

Defense #15, Use a large public key, like a 1024-bit primary key and private key for cryptography, and use proper methods to encrypt the files. (See #16)

Defense #16, Use real cryptography rather than funny XOR. Why did I mention funny XOR? to stop the idiots on the internet who decoded the DevExpress public-key and found the "private key" and started to issue licenses. Maybe "they" should consider setup DevExpress RU or DevExpress CN (China) :)

If DevExpress is reading this, they need to stop using funny XOR and consider two things:

- widen the key from 56-bit,128-bit,256-bit,512-bit,768-bit to 1024-bit key. Even consider 2048-bit key if piracy still persists.

- stop using XOR and simple algorithms. Try using better hashing algorithms such as SHA2 (instead of MD5) for authentication.

- copy-protect their files using Armadillo with machine specific keys.

Defense #17, goes to BrickSoft. For example, every time they connect on-line, it goes to their license server to validate the user, unless they pay for the US$5000 version.

Defense #18, in order to use a RAR password correctly, here is the correct instructions:

When you have RAR files, download the RAR passwords from on-line activation. Do not store them inside your setup. No on-line activation, no RAR password.

Since a RAR file can have multiple passwords, consider building a RAR file with 10 or 20 different passwords.

Defense #19, Remember to use SSL instead of HTTP for on-line activation, no really. Think about it.

Defense #20, Setup too many times, fail the on-line activation. Get the customer to mail about it. Sure, there will be some customers who would complain, but wh0knows?

Defense #21, read this blog, it will give you more money-making advice than you can ever think about.

Migration knowledge: Converting a 100-form IntraWeb site to C#/ASP.NET

This migration knowledge story probably would not even get published by Embarcadero, but worth telling.

Environment:
- Delphi Enterprise 2006 x 3 (US$2000 each),
- IntraWeb 2006 x 3 (Euro 1,199),
- UniDac 2006 x 3 license (Euro 399 each),
- TMS IntraWeb Component Pack Pro Site License (Euro 395),
- Fast Report Server (Euro 1,000),
Charged via MasterCard

The site that was to be published but was not. Your reviewer, being a Delphi fan, and 2 other Delphi developers embarked upon a journey better described as hell-raising experience: Convert a VB/ASP site into modern looking, Ajax-compatible site.

[At that time, we had DevExpress ExpressWeb, but stopped using it because it was no longer supported in Delphi]

We inherited the site from an Indian outsourcing company who failed to maintain it well, and from tried, at least tried to get it working with Delphi.

The initial development went well, and work started from days into weeks, then into months. the trouble started with the awful looking IntraWeb website design...

Take a look at "other" websites. How fast do they load? they load almost instantaneously. Take a look at IntraWeb website. How long does the default startup page load for your ISAPI website? (Approx 8-9 seconds).

Is there any way to beautify an existing IWPage, nope, except unless you get TMS IntraWeb Pro pack, since that allows you to access the scripting and script your site and web-elements. But joy turned to sadness when none of the Joomla! templates or WordPress basic HTML templates worked. Not even a basic layout (like the C#/ASPX master page worked).

Then we tried frames, but the frames support was minimal, and only IFAME support worked. Then we tried to link the front-end site to the back-end site, only to see the click from PHP only to go into to main default page (Can someone please ask ArcanaTech to UPDATE their libraries? It's now open-source and not updated so often and with little documentation)

The grids did not fare well towards large datasets. Go to any decent Ajax vendor website, and click on any of their web-based grids, chances are, they would load faster than the IntraWeb grids or even TMS IntraWeb grids.

Edit controls are so poor, even the IntraWeb and TMS IntraWeb pack leaves much to be desired. Could they at least not use decent colors instead of all gray? Even ExtJS and other Ajax libraries use decent buttons for their grids.

The logic was awry because back button was disabled. Sure, how would the customer feel if there was no back button? Then you would have to make all sorts of navigation layouts for this. Did I mention about the non-professional Outlook bar, or menus? Look at other web-based menu systems. I would consider it a joke.

One fine day, the customer could no longer tolerate the basic-looking website, and 100 Forms, all checked-in, we looked at Visual Studio ASP.NET Express

The very basic thing about Visual Studio is not that it's free, the thing works. You want a good ASP.NET website, within hours you can get the same effort.

- Let's talk about session handling, a dirty word in Delphi. Why is it that Delphi have no good session handling outside IntraWeb? Even the ISAPI examples are so plain, you might consider them good for simple sites. With ASP.NET, you have various methods of session handling. To be fair, IntraWeb have various handling methods, but no control over the back button.

- Let's talk about Browser. Suppose you use Chrome on an old IntraWeb site, no dice, you have to upgrade. Use Chrome on an old ASP.NET site, it works without problems. Since IntraWeb controls the environment, and browse specific, you get all sorts of problems for no reason.

- Let's talk about Data. Pump up a 50 page (page 1..50) with 50 items each. Tell me any IntraWeb example that does this with live data and with 10 or 20 concurrent users. Did anyone try? or did nobody try because there are no known working IntraWeb site (even AracanaTech and TMSsite is ASP.NET) to try this out. Why not ask Borland to change their QA Central to IntraWeb? that would be real test :)

We were surprised by fast development pace (BTW: Order the book "NET 2.0 for Dephi Developers", the poor person who wrote this book reported poor sales) and fast compile time.

The heresy that goes around is that C# compiles longer than Delphi/Intraweb does and takes longer, well, if Delphi/IntraWeb is so good, why are there not more sites?

Conversion tips:
- To start, the equivalent of TIWPage, TIWForm in Dephi is ASPX form, or *.aspx files.

- There are no IntraWeb "master" pages or template layouts. The equivalent is ".master" files in ASPX.

- There are various grids and edit controls you can use. Ajax, C#-based ASP.NET grids, and nice edit controls. Did anyone ever notice the Atlas Ajax site? Shhh, keep it a secret from Delphi developers...

Conversion took two months, but that two months were gushing with praise from the owners of the site, and after 9 months, the site broke even.

It was really Delphi that could, if IntraWeb could fix those flaws, but sadly, the C# version was much better.

Delphi: Playing games

Your reviewer was looking at some ALM (Ailing, Lamenting and Moaning) from game developers trying to use Delphi to make games.

Delphi Game Development. End.

Your reviewer takes look Delphi to develop games... The first thing your reviewer noticed is lack of usable game engines or mostly "samples" or very basic demos.

First is the SpriteCraft engine, from a one-page website (make that two if you consider the ftp listing) and unclear project development status. It is not updated to Delphi 2009, and without any decent documentation or examples, your reviewer will have to pass.

The next is andorra, but program against a DLL and with some wierd interface, DevIL.dll, FreeImage.dll, why not link directly to all of those libraries and make your program open-source? Many issues, such as using DLLs, pixel collision issues, memory leaks, non-existent level editor, sprite render (you do-it-yourself) to name a few.

The next is DelphiX, or UnDelphiX, the once updated and seem to require everyone else to publish an unofficial patch or something else to update it. It got so bad, that some people stopped using it due to bad headers/ non-supported featured. Since it was never completed, maybe the results are non-completed Delphi games?

The next is Aspyhre, but not complete, if you dig around, there is a Sprite/Title editor, casual GUI interface, but no good collision engine or fully working game example? What returns are there to develop an Astroids demo or simple non-working Diablo-game?

The next is GLXTreem but that goes into a missing website. Oh well...

Delphi Hater presents...
Your reviewer was looking for a game engine, a solid good game engine that he could develop with using Delphi D2007/D2009/D2010, and even give some money to it going to make a game, but by the looks of how the Delphi gaming community is going, it looks much worse.

Your reviewer googled around and found few quiet sites - PascalGameDevelopment and some game forums.

Your reviewer Downloaded UnDelphiX then SongBeamer's D2009/D2010 DirectX translated headers, then tried GLScene (is there not a library that does both DirectX and OpenGL)? then tried Aspyhre, but ran into sound problems, sprite problem, world map problems. It simply took too long to develop an equivalent "Hello World" game.

There's GameMaker A7/A8 engine, but the "Delphi" part are plug-ins. Ditto for RPGMaker, they call it DLL add-ons and program using Lua/Python.

Your reviewer looked around, notably DarkBasic, C++/Torque and Unity Engine/C++...


Thinking twice...
Now starts the review. Suppose you want to develop a game, what would you do?

- use Delphi and get bad results, mediocre, for making simple games?
- use DarkBasic and their Gaming SDK?
- use Visual C++ and get Torque/Unity/Blender game engine?

then I came back and read about the students who posted on Embarcadero's forums who wanted a copy of Delphi to make games, and wonder if it was all a bad dream, that no-matter how good Delphi was, because of high prices, little-or-no-gaming-support it could be simply wishing thinking.

Playing the devil's advocate, suppose DelphiHater makes game with Delphi, but all the profits would be eaten up by development costs, or maybe the game would fail (what's the difference It could be WorseThanFailure?)

For Delphi, it would be better for playing around, and nothing really serious for game development.

Monday, October 12, 2009

Tales from the Scene #6: Theory & Practice #1

Your reviewer shares some thoughts about Pirates of the Deli'burn.
Your reviewer pretends to a Captain of the British Navy studying them.

Most of them are novices, like Guybrush Threepwood, the wannabe pirate and take the easy way out on things.

Tale #1 required some explanation, so I will give examples.



Example #1: Addictive Software, spell checker.
It's easy to find non-legal copies of Addictive Spell Checker with sources. Google for:
""Addictive Spell Checker" warez"
""Addictive Spell Checker" rapidshare.com"
""Addictive Spell Checker" rapidshare.de"

This Delphi vendor uses Innosetup and Password. Download Innounp* and then extract the files. Mr. Glenn Couch, if you are reading this, please use another copy protection scheme.

* References:
innoup - http://innounp.sourceforge.net

DelphiHater gives some advice:
- Mr. Glenn Couch, you might want to consider checking your customers for "unclean" and "non-contactable" customers.
- Have you considered giving your "newer" customers a phone call or customers and watermarking files? That would greatly deter on fraudulent customers.
- Have you considered using BPL-only trials?
- Have you considered on-line activation?



Example #2: AidAim.com, Custom setups
It's easy to find non-legal copies of Accuracer. Google for:
""Accuracer" warez"
""Accuracer" rapidshare.com"
""Accuracer" rapidshare.de"

This Delphi vendor uses Custom Setup (with flaws). Mrs. Ella Pellaman, if you are reading this DelphiHater gives some advice:

- Consider checking your customers for "unclean" and "non-contactable" customers.
- This vendor uses custom-setup, with one flaw: files are not watermarked after installation.
- While AidAim contacts customers, allowing full access to their customer download site is inviting trouble, is it not? Have you considered putting serial number check before allowing access to download site?
- Have you considered using BPL-only trials?
- Have you considered on-line activation?




Example #3: AppControls.com, Innosetup
It's easy to find non-legal copies of AppControls. Google for:
""AppControls" warez"
""AppControls" rapidshare.com"
""AppControls" rapidshare.de"

This Delphi vendor uses Innosetup. Mr. Alexey K., if you are reading this DelphiHater gives some advice:

- Use another installer instead.
- Watermark files after installation.
- Have you considered using BPL-only trials?
- Have you considered on-line activation?




Example #4: RemObjects, Wise Installer
It's easy to find non-legal copies of RemObjects. Google for:
(you know...)

This Delphi vendor uses Wise Installer. Mr. Cornelius, if you are reading this DelphiHater gives some advice:

- If you use Wise unpacker, you can unpack all files. Why bother with setup?
- Use another installer instead.
- The website has flaw: You can re-construct the URL and download the setups :)
- Does not watermark files after installation.
- Mostly using XOR
- Have you considered using BPL-only trials?
- Have you considered on-line activation?




Example #5: DevExpress, custom setup.
It's easy to find non-legal copies of DevExpress.VCL. Google for:
(you know...)

This Delphi vendor uses custom setup. Mr. Julian Bucknall, if you are reading this DelphiHater gives some advice:

- Don't put all sources into 1 RAR file (the RAR password is easily found out).
- Don't use XOR (LOL)
- XOR, like XOR Machine Name,
- XOR, like XOR RAR Password
- Put a dead man's switch to prevent people from abusing the SSL activation service
Have you considered GeoIP and blocking repeat failures?
- Don't put newer downloads for non-active customers :)
- Consider watermarking files



Example #6: TMS, innosetup.
It's easy to find non-legal copies of TMS. Google for:
(you know...)

This Delphi vendor uses innosetup. Mr. Bruno, if you are reading this DelphiHater gives some advice:

- Consider using another installer. People just use innounp and extract all files. The installer cannot even watermark files yet :)
- Don't put newer downloads for non-active customers :)
- Have you considered using BPL-only trials?
- Have you considered on-line activation?




More to come...

:)

Sunday, October 11, 2009

Tales from the scene #5: How not to criticize this blog

Your reviewer got some emails and some flak*

(* flak: Soldiers of Fortune, reader replies)

Every now and then, there would be some feeble-minded person who would just say, this blog is full of hearsay, or not accurate.

Here's some suggestion for those who want to criticize this blog:

1) Be specific. There are over 50 articles on this blog, and if it's one article where the facts are inaccurate, you can point it out:

- There were several corrections, spelling-mistake fixes, date-error fixes, factual inaccuracies corrected for the TurboPower article.

[Can someone inform person who is saying it is inaccurate that factual inaccuracies were fixed?]

- There were also corrections made for other articles as well.

- Corrections will be made, and scheduled.

2) There is right of reply. You are most welcome to slam this blog, and for this blog to publish facts defending the articles itself.

3) This blog is not interested in name-calling, mud-raking, personal attacks, or insults. Every time there is "intelligent discussion" about problems and issue with Delphi, it degenerates into mud-slinging, insults and personal attacks.

This blog focuses on facts, articles to debunk these people...

If the tool is soooo good, everyone should be making thousands of dollars, there would be excellent libraries, professional people, the kind you meet in freemason lodges or the Borcon conventions, thousands of people would attend them...

Instead, it degenerated into loss, poor-quality libraries, "Delphi forums" would be best called "dens of thieves" and nothing but cheating and stealing is common practice.

If a student who comes out from University comes and become a Delphi developer, only to learn his masters download pirated material, use all pirated software, the student will ask himself what future he has with his poor salary and poor work?

If the masters only depend on stealing and cheating, what will become of them?

I don't know the answer, but for DelphiHater, it seems to be easier for a camel to go through the eye of a needle than for a rich man to enter the kingdom of God...

Many of those people who developed in the 1980's, 1990s are now in their 40's, 50's and 60's... What are you going to do when you "get there?" Tell everyone you were part of the "scene" - ROR, TMG, FCN, DND, FLT, had "slots" and "rights"?

If you have no sin, cast the first stone, there is really no need to uphold the law (Thou shalth not steal, Thou shalth not bear false witness...)

What will you tell the priest when you go to confession? or when will you get "right" with your life?

4) Morality aside, your reviewer welcomes your comments.

To come:
Your reviewer is digging up financial information about Developer Express (surprising information), supposed Delphi-usage in Skype (Delphi-ICE (the protocol Skype uses), Global Sound licensing), Julian Zierch WpTools review (and suggested corrections to Julian's website), Smells like Team Spirit Nevrona, Delphi Economics Part 2, More people exposed, Delphi 2009, Update 5&6 review, SVCom review.

:)

Saturday, October 10, 2009

Tales from the scene #4 - Freebies

Has anyone wondered why nobody in Delphi community gives free components anymore? Your reviewer, DelphiHater will tell very dark tale.

Replying to Mr. DelphiLover (or one of Mr. DelphiLover's friends et al). there's always some kind of community project which for some reason, would require paid components and paid libraries, some free webhosting.

(Don't be surprised that one of Mr. Delphi Lover's friends/ or himself is organizing one right now...)

The tale goes back 8 or 9 years ago, in the wild, wild west of the internet. Many years ago, the there were these kind souls which would want to make those open-source projects and then use a bit of "paid" Delphi libraries here and there, and then post on their website they used this or that, etc.

In those days, there were plenty of open-source projects going along, when it seemed better to make open-source projects and somehow, paid libraries got in the way of doing business. Some kind souls would ask those paid-libraries vendors for a free version of their product in return for some blurb on their website that they used this, that, etc.

Some of those suckers were Mr. Tim Young (ElevateSoft), Mr. Glenn Couch (ESB Consult), Mr. Franciso Sanchez (Billenium Effects), Mr. Serge (Dream Company), Mr. Roy Woll (Woll2Woll) and Mr. Ray N. (DevExpress), Mr. Serge (TRichView), Mr. Mike S. (Scalabium), Mr. Vincent P. (of AToZed) to name a few.

The tale would go in this manner, there are kind souls who wants to make an open-source product and had some fetish "need" for using paid libraries and asked in return to make products which would benefit everyone.

What happened was opposite instead. Anyone remembers those days when the vendor released it, a few days later, the "free" version of his products would start floating around?

One of the vendors who got poor sales was Billenium Effects, Mr. Franciso Sanchez. He "used" to entertain those requests for free versions until he (and some other vendors) registered himself into those "Delphi Forums" and found the same culprit releasing his product for free... One of the more outspoken vendors, Mr. Vincent (AToZed) posted on the newsgroup about it. The word spread around, and from what DelphiHater knows, that kind soul (et al), lost almost all his "licenses".

Now you know why nobody gives free licenses, even for open-source projects...

... and, coming back to DelphiHater's reply to DelphiLover's question, the last version that was leaked out from ElevateSoft was DBISAM v4.28, and since the leak was shut down (wonder why?) there have been no leaks since then.

For AdinExpress, the files were watermarked. your reviewer, DelphiHater compared his version of AdinExpress 2007/2008/2009 files to DelphiLover's AdinExpress 2007 "free" to know that...

For DvaExpress, nobody is paid subscriber, otherwise, they would know about the components posted as attachment to DvaExpress private forums. They are interesting and useful.

DelphiHater can easily get support from Mr. Hoffman, Mr. Cornelius and Mr. Diman. and access more expensive libraries, such as Kaka Ez-PlanIt.

до встречи,

:)

QA Dept: Softel vdm's Delphi components

Tales from the scene #3
Has anyone ever wondered what happened to Softel vdm's Delphi components and why they are C++, ActiveX, DLL, NET component vendor instead?

Your reviewer, DelphiHater remembers many years ago (almost 6 years ago?) Softtel sent an email newsletter to everyone that they would discontinue their Delphi VCL products in favor of their C++ products. They mentioned they stopped it due to piracy and since nobody was buying their native VCL libraries, they would discontinue it.

References:
http://www.ddj.com/cpp/184403700 - SftTree/VCL 4.0

Wednesday, October 7, 2009

Fan Mail and Tales from the Scene #2

Q: What are your thoughts about people on those [non-legal sites]?

:) Let me take for example, DBISAM 4.28 or Add-in-Express 2009, none of those people have it. DBISAM costs US$529 (The minimum source code option). None of them are kind souls who will give out the source code for free after paying for it. That leads me think two things: They are just beggars waiting for another crack, patch to get them going along until someone "helps" out. When DelphiHater started recommending BPL for trials, lots of people started to have big problems compiling their EXEs.

These people have no ability to install BPLs or use DPKs or understand complex things. They don't understand developing a nice product takes 6 or 9 months while making a crack only takes a few days (and no profit). Suppose you hire someone, would you hire an experience person or someone who cannot even update code from Delphi 2007 to Delphi 2009? Or ask them to write new VCL component... maybe results are big mess because person is incompetent or lazy.

These people complain they earn low salary, but if you look closely, many of them are more interested to play World of Warcraft, buy iPods, and do everything else. They can probably download everything, and at end of day, everyone loses, the vendors like Developer Express, TMS, ElevateSoft lose money due to such people (and will not even pay for anything at all). The company that makes Delphi will report poor sales, and eventually no money for good jobs. Then people are begging for TurboDelphi or reduced costs. With such bad sales, nobody wins...

- no job (or low salary),
- no sales (or poor sales)
- no profits (or losses)
- prices will go up because of low sales

means fewer and fewer companies use Delphi. now even Universities do not teach using Delphi at all, which is even better.

Why not ask some of the people to "donate money" to vendors who make components to keep them alive?, they will think it's stupid, but look closely, all of them have no interest to pay anything at all. Some of the people experience hardship because their business shut down, or get fired from job, but think about it.

Think really long and hard, the future is coming soon, maybe DelphiHater knew something.

Website Obituary: TurboPower.com criticisms

DelphiHater thanks readers for pointing out factual discrepancies about TurboPower. DelphiHater want to mention couple of points:

a) The review was quite respectful, and this site does not have any swear words like the Linux Hater's blog. So you might to take look at characters of those who call this site "troll" and other swear words. Think about it...

b) Any volunteers who wants to port Opherus grid to Delphi 2009? Very few people did so, most of them have errors or partially complete files.

c) Anyone wants to check the other reviews - ProfGrid's DHTMLEdit review, or ShellPlus review or IonWorx review, or AppControls review? DelphiHater would love to get some criticisms on those reviews.

d) This website focuses on money aspects as well. Tell me anyone who can live on US$400-US900 a month as a Delphi developer [Going rate for Delphi developer now-a-days].

e) Notably, while everyone says it's here-say, DelphiHater wonders if anyone tried using any other interrupt than Int 10h to access video, or Int 2Fh to access mouse or COM I/O port or Int 21h to access DOS services? You can always feel free to try this under Windows 95/98/ME. maybe you might get some real answers yourself instead of saying it's here-say.

f) Some people criticized about LMD. Around the time TurboPower went bust, LMD had purchased ElPack. For Dream-Company, I wonder why they went out of business? Did anyone bother to ask Mr. Serge (Dream-Company Owner) before he quit?

g) DelphiHater welcomes your criticisms to the TurboPower website obituary. By making it more and more accurate, there will be less room for people who just say "Delphi is the best" or "Delphi forever".

After all, how can large company like TurboPower who creates so many libraries go out of business?

If you look at DevExpress, they changed their sales tactics and notably, if you are DevExpress subscriber, you can always hear Mr. Julian Bucknall lament about poor Delphi sales and how NET sales saved DevExpress in the DevExpress private forums...

Financial criticisms

DelphiHater would like some honest down-to-earth criticisms on financial aspects stated on this blog.

Whenever DelphiHater talks money, is it not true that someone has to pay for something? Who pays for your salary? Who pays for the goods? Maybe the spirit of Delphi that lives on some half-dead website or open-source (free) products pay for it!

Take hard look. If you don't pay your bills, what happens? Either you will lose your house or car, or get really depressed trying to pay all the bills... Or wait! The spirit of Delphi is around us, and by magic, money comes in!

:)