We’re heading to Delphi 2011 (which will bring Delphi on Macs and Linux) and after this we’ll have yet another hurdle which is 64-bit compiling. With so many convoluted paths (ok, ok, the team will do the best to make the transition(s) as smooth as possible, but still…) a question arises: What components shall we use?… Continue reading
There is enough speculation about what library / libraries we’ll encounter in the next version(s) of Delphi. We know that the next version code-named Fullcrum (don’t click here and here – AFAIK the links aren’t related with the team’s intentions ;-)) will be a cross-platform product which will target Windows, Mac OSX and Linux… Continue reading
Well, one can write an entire book on this theme, that’s why we’ll stop today on just one pattern: The Open Project.…
Nobody can harm me, except myself.
St. John Chrysostom, speaking about his executioners
While preparing the FileSuite for release (already a beta is available for download) we will dig(g) once again in the dark areas of Delphi’s source code.
While in one of ours last posts we spoke about an opinion which now and then is a hot theme in Delphi community (the legendary
var block) – and enough programmers expressed their concerns about the safety issues tied to this – today we’ll speak about something opposite… Continue reading
The usual “off-line” comment: Guys, we’re preparing FileSuite 2. Many interesting things inside – many bugs fixed, folder constraints more scripting commands and, of course, Shell Events. On of the main themes of this release are the usability issues so feel free to submit your feedback. We hope that we’ll have something to present in 7-10 days. Thanks a lot.
And now back in present: There’s a question on StackOverflow asking What’s your favourite programming language, and its killer feature?
Seeing there that Delphi’s choice is #1 among the answers it seems that Delphi’s killer ‘feature’ is becoming (again) its community.
Well, we have a new release of FileSuite featuring a fine-grained multi-threaded file engine which can execute any (oh, well…) custom action, exe file or script on a file or host event (yes, you can have a centralized backup control for any host from the network immediately when it will be online – no need to install any software client) enough bug fixes, mirroring enhancements aso. You can see some from the enhancements in the screenshots page. Also we found a new payment processing company which has much more features thing which allowed us to reduce the price. So, we must be happy… And yes we are. Almost. Continue reading
To everyone? Well, yes, I suppose so because we don’t require any password to read this post 🙂
New year? Well, yes. Dude, have a look at the calendar. (Well, we accept as standard the Gregorian Calendar, isn’t it?)
Happy?… hmmmm… this can be a problem. A tough one. Let me explain… Continue reading
The one who runs from his soul’s reality is a liar.
St. Valeriu Gafencu
In this night we celebrate the Nativity of Christ. The only new happening on Earth from the beginning of existence. And I think that isn’t astonishing that God is almighty, because he is God, isn’t it? But I do think that it is astonishing that God could became so small. Small and weak like a man, giving to the others the possibility to kill Him. And of course, “the others” didn’t missed the opportunity…
Hi guys, thanks a lot for the feedback (both private and public) on FileWatcher. Believe us, we are hard at work on it and we’ll try to post here our “findings”. 😉
…but now let me tell you a little bit about a feature which some of you requested: is about offsite mirroring of files… Continue reading
Well, here we are. Finally we released the FileWatcher. If was a very interesting experience about, if the time permits, we’ll blog further.
But what’s most important in this experiment was that we were determined to build a tool for you. For customers. Sounds great, isn’t? But in practice isn’t so straight as it seems to be… Continue reading
What if we’ll add the “x” feature?
This is the question.
(adapted from) Steven C. McConnell
Well, first of all let’s see what we see 🙂
Indicates whether a file name conforms to the format specified by a filter string.
function MatchesMask(const Filename: string; const Mask: string): Boolean;
Call MatchesMask to check the Filename parameter using the Mask parameter to describe valid values. A valid mask consists of literal characters, sets, and wildcards.Each literal character must match a single character in the string. The comparison to literal characters is case-insensitive.Each set begins with an opening bracket ([) and ends with a closing bracket (]). Between the brackets are the elements of the set. Each element is a literal character or a range. Ranges are specified by an initial value, a dash (-), and a final value. Do not use spaces or commas to separate the elements of the set. A set must match a single character in the string. The character matches the set if it is the same as one of the literal characters in the set, or if it is in one of the ranges in the set. A character is in a range if it matches the initial value, the final value, or falls between the two values. All comparisons are case-insensitive. If the first character after the opening bracket of a set is an exclamation point (!), then the set matches any character that is not in the set.Wildcards are asterisks (*) or question marks (?). An asterisk matches any number of characters. A question mark matches a single arbitrary character.
MatchesMask returns true if the string matches the mask. MatchesMask returns false if the string does not match the mask. MatchesMask raises an exception if the mask is syntactically invalid.
Note: The Filename parameter does not need to be a file name. MatchesMask can be used to check strings against any syntactically correct mask.
(from Delphi’s Help)
So, we have here a very nice function primarily designed to (quote again) Indicates whether a file name conforms to the format specified by a filter string, right? Wrong!… Continue reading
Don’t sign my doom because is unfair. But support the next Patriarch which will come after me, if he’s chosen accordingly with the rules. The schism is the worst thing.
St. John Chrysostom
Our biggest strength is unity. Even if everyone from us has his own paths. But the conscience of a community makes us strong, stronger than others who are alone trying to compete one with each other. I think that the reason of our existence is to cover as good as we can the needs of our user base and not so much to compete with other entities (commercial or not) which might target the same market segment. We know what happened when a certain company tried to make different “killers”, finishing with .NET ‘killer’, forgetting about the real needs of its community.
On the other hand, if someone will do a study… Continue reading
We ended the first technology preview stage of our new tool – FileWatcher (we spoke about it here) and we’re heading to a release. There are significant improvements and additional features to that early version posted there, (btw, if you want something in special, you can post it in comments, or send an email) but now I don’t want to speak about these.
I rather want to speak about another human phenomenon which we encountered during the construction of this tool. Because we started something from scratch, we did an experiment: without compromising the product’s quality, we wanted to use Delphi as much as possible and any other 3rd party library (especially our libraries) as sparingly as possible… Continue reading
In fact, I was a very convinced assembly guy at the beginning. I didn’t like ZX Spectrum’s Basic, neither the Commodore’s, neither CP/M’s (sorry, guys, perhaps your mileage may vary). Always I tried to please the others and Basic didn’t gave me the power to do this.
In the days of Turbo Pascal I was quite distant from the product because… Continue reading
Some time ago, Nick and Malcolm drew our attention on a site which promote an anti-if campaign. Well, I don’t know how much that campaign is interesting for us, because, sincerely, I don’t see any time soon the
if construction removed from programming languages.
But I will propose another campaign which I think is much more stringent for Delphi developers… Continue reading
Yesterday, David I passed by and congratulated in a comment all the winners of “Delphi Legends” Community Award. (Look at the comments in that post).
It was a very nice gesture, but I really want to comment some of his words here because I think that they are really important.
We now have more people working on Delphi than ever before. Even with increased resources, we still need the vibrant Delphi community to make programming in Delphi the best way to build applications.
David Intersimone “David I”
Well, I think that is the time to speak about the Omega Effect…
It seems that dark clouds are gathering around of the future of mySQL since its acquisition by Oracle. In an uncertain atmosphere in which Ex-MySQL leaders take opposite stances in EU-vs.-Oracle discussion (see here) – and a broader overview here, Oracle wipes out without no explanation the downloads for mySQL 6 silently canceling the public beta of the yet-to-be-released database and most probably (?) stalling also the development… Continue reading
Well, to be sincere, I wanted to stop posting for few days till the publication of the results of our Award (at which most probably we’ll change the name in order to distinguish from Embarcadero’s award – we’re open for naming ideas, of course… 😉 ).
But the Team’s real desire to have a nice dialogue with us – see Mike’s postings in .non-technical, but not only 😉 – forces us to give them a humble idea, perhaps it would help… Continue reading
“Any IT problem is human in its very core”
Few days ago I spoke about a war of thoughts which is present in our community – basically saying that somewhere in the future Delphi will die. And I proved that this isn’t founded – it is a perception which others exploit. But it seems that we should add much more data on this. Well, let’s start… Continue reading
The devil seeks the accord in your mind. It is enough for him to start the war.
St. Mark the Ascetic
There is a constant thinking culture which questions the future of Delphi, “Delphi is dying”, if it is (still) a reliable tool etc. And now I don’t want to focus on the incurable nay-sayers which are among us, programmers, because these kind of characters are always a more or less useful presence for the community… Continue reading
Autumn again. And I hope that also this year we’ll have (again) a winner for Spirit of Delphi Award. Besides of marketing speak I do think that this form of recognition is quite important in order to keep the community together, like a family… Continue reading
The man of the day in this case is Heinz Z. (Heinz, if you want, I can make public your full name 🙂 ) which on my latest post about different techniques to extend the functionality of a class which we cannot control, gave a very simple and effective solution. Rather than leaving his answer there I think that’s appropriate to make a special post here giving him the pen:… Continue reading
Yeah, I know: Use
Tag. But no, I won’t. If I can. But sometimes I cannot. But let me explain the problem first:
Many times there is a need to have metadata which has at least one of the properties bellow…
- added at runtime
- to objects which we don’t control their class specification
…then we are in trouble… Continue reading
Speaking a little bit about innovation, we had a great discussion about Class Signatures also here in this blog as well as in a very hot thread in the .language forum, and finally I’ve submitted also a QC Report – vote for it btw.
But today I would ask for your opinion about another feature request, which, in fact, will fill a gap (or rather an oddity?) in the Delphi compiler. But the main point is how to implement it… Continue reading
“Father, what we are missing in order to become saints like the ones from the past?”
St. Seraphim of Sarov
Preamble: This post is a humble addition to a comment made by someone from you. I’m sure that he knows what I’m talking about… …feel free to skip if you wish…
…On the day of the attack on Pearl Harbor (December 8, 1941, in Manila),… Continue reading
One of the main drawbacks of our IDE is the lack of Undo in the Form Designer. I thought that it was a matter of time to do it, but when I read this thread I figured out that the problem can be also elsewhere… …besides of the assumptions about what the community thinks about something. 😉 Continue reading
Hi again – we will return to strategy posts soon, but till then, I owe you some results. Asking “Would you like a solution delivered quickly which would allow accessing more than 2/4 GB?” (see here) it seems that the results are quite balanced, however it seems most of you want improvements in this area in a form or another. But let’s see our pie:… Continue reading
Too many men
There’s too many people
Making too many problems
And not much love to go round
Can’t you see?
This is a land of confusion.
Genesis, Land of Confusion
…Well, there IMHO there is a problem with the way in which we’re coding. And this problem come from the fact that the classes represent a (rather) static system designed on premise in order to address the needs of a problem which is dynamic in its nature… Continue reading
Once upon a time, Rapid Application Development “meant” IDE. This was Turbo Pascal. One could way faster work with an integrated environment rather than with disparate programs trying to fit them together in order to form a toolchain.
After this was the Visual bubble. The Form Designer with an Object Inspector near to it in order to speed up the GUI development process. This was Delphi and Visual Basic… Continue reading
Take a look to the sky just before you die
It is the last time you will…
…being from enough years now a Delphi community member. Also, I monitor and/or I’m involved in other communities. But from some time now I look at Delphi community from outside. Also my other ‘specialty’ allow me to cast a very different eye on the matters. Different from a programmer perspective. But I’ll try to bind all the puzzles… Continue reading