Home > Delphi, JavaScript, Object Pascal, OP4JS, Smart Mobile Studio > Goodbye G+ Delphi Developers group

Goodbye G+ Delphi Developers group

December 6, 2016 Leave a comment Go to comments
A bit sad today. I typically post blog articles about Delphi, Smart Pascal and embedded projects both on Facebook and Google+, but apparently Smart Pascal is not welcome at Google’s Delphi group. Even examples where Delphi talks with a node.js server on a Linux box is apparently “off topic” and “not Delphi”. So much so that my post was deleted. I’m getting so sick and tired of this double standard. This is not the first time Smart is pushed aside. We were even banned from speaking at Delphi Tage a couple of years back. I really dont understand this attitude at all.
So easy, so powerful and you can deploy it anywhere. An embedded system, a dedicated server - or do a push to your Amazon / Azure cloud stack. Node.js is so powerful once you understand how to use it.

This is from the deleted post. If you look at the picture you will notice a Delphi UDP client/server on the right talking with a node.js service on the left. Aparently this is not Delphi enough for the admin in charge of the Delphi group on G+

I was particularly saddened by this since I have from time to time seen Elevate Software post about their web builder utility. But for some reason Smart pascal is not allowed to do the same (in this case it was a post from my blog). With all due respect for Elevate Software, but when it comes to interfacing Delphi with a modern IOT infrastructure or eco-system, Elevate is not even in the same ballpark. But focus here is on the technical, and Elevate’s web builder is ultimately in the same category as Smart Mobile Studio. So how their system that compiles a subset of object pascal to JavaScript is somehow allowed – while our product is not, I find both morally unacceptable and hypocritical. First of all since Embarcadero have held workshops in Angular.js (!).
Looking into the actual data, with JavaScript leading and JavaScript libraries on client and server side (Angular.js, Node.js) on the rise, it was nice to see that while Delphi was not listed as an option, it was the most typed entry in the “others” category -Source: Marco Cantu
Let me sum up a few facts:
  • Smart Mobile Studio is written 100% in Delphi
  • Smart Mobile Studio was created from scratch to compliment Delphi
  • Smart Mobile Studio supports Remobjects SDK out of the box
  • Smart Mobile Studio supports Embarcadero Datasnap out of the box
  • Smart Mobile Studio helps Delphi developers write the middleware or interfacing that sits between a native Delphi solutions and a customer’s node.js or purely web-based solution. This is 2016 after all.
  • Where a Delphi developer would previously have to decline a job offering because the customer’s existing infrastructure is based on node or emits data unsuitable for traditional Delphi components, developers can now relax and write the missing pieces in a Smart pascal, a dialect roughly 90% compatible with the language they know and love to begin with.
  • Smart Mobile Studio ships with a wast RTL that greatly simplify talking with Delphi. It also has a VCL inspired component hierarchy where more and more complex behavior is introduced vertically. This gives your codebase a depth which is very hard to achieve under vanilla JavaScript or Typescript.
  • Smart Mobile Studio is all about Delphi. It is even used to teach programming in the UK. Teenagers who by consequence and association is statistically more likely to buy Delphi as they mature.
Now I have no problem understanding or respecting the notion of single-topic groups. But having said that I expect the administrator(s) to apply this rule equally and without exception. Not just Smart pascal.
The reality of 2016 is that no Delphi developer use a single language or dialect. That may have been true 10-15 years ago, but that’s not where we are today. When a customer demands that your interface your Delphi software with their existing node.js or io based eco-system there are only 3 options available:
  • Decline the project
  • Learn JavaScript or Typescript and do battle with its absurd idiosyncrasies, lack of familiar data types, lack of inheritance and lack of everything you are used to
  • Use Smart Mobile Studio to write the middleware between your native solution and the customer existing infrastructure

If you pick option number two, it wont take many days before you realize just how alien JavaScript is compared to Delphi or C++ builder. And you will consequently start to understand the value of our RTL which is written to deal with anything from low-level coding (allocmem, reallocmem, fillmemory, move, buffers, direct memory access, streams and even threading). Our RTL is written to make the JavaScript virtual machine palatable to Delphi developers.

Banning dialects?

Once you start banning dialects of a language or an auxiliary utillity designed to empower Delphi and make sure developers can better interface with that aspect of the marketplace – where does it stop? I am curious to where exactly the Google+ Delphi group draws the line here to be honest.

Should Remobject Oxygene likewise be banned since it helps Delphi developers target the dot net framework? That would be odd since Delphi shipped Oxygene for years.

Should script engines be banned? What about SQL? SQL is a language most Delphi developers know and use – but it is by no measure object pascal and never will be. Interestingly, Angular.js seems to be just fine for the Google+ Delphi group. Which is a bit hypocritical since that is JavaScript plain and simple.

What about report engines? Take FastReport for instance: FastReport have for the past decade or more bolted their own scripting engine into the product, a script engine that supports a subset of object pascal but also visual basic (blasphemy!). On iOS you are, if we are going to follow the Apple license agreement down to the letter, not even allowed to use FastReport. Apple is very clear on this. Any applications that embed scripting engines and at the same time download runnable code (which would be the case when downloading report files) is not allowed on appstore. The idea here is that should some code be downloaded that is harmful, well then Apple will give you a world of hurt. And even if you consider it a report-file, it does contain runnable code – and that is a violation.

So is Fastreport Delphi enough? Or is that banned as well?

Where exactly do we draw the line? I can understand banning posts about dot net if it’s all about C#, but if it’s in relation to Delphi or deals with Delphi talking with dot net (or an actual dialect like Oxygene) then I really don’t see why it could be banned or deleted. Even Delphi itself uses dot net. It’s one of the pre-requisites for installing Delphi in the first place. I guess Delphi should also be banned from the Delphi group then?

In our group on Facebook, all are welcome. Embarcadero, Lazarus and Free Pascal, Elevate software (be it their database engines or web builder), Pax compiler, DWScript, Smart Pascal, NewPascal (or whatever it’s called these days) and even Turbo Pascal for that matter. And we sure as shit dont delete posts of Delphi talking to another system.

So goodbye G+ and good luck

  1. aplikmuj
    December 6, 2016 at 10:25 am

    Reblogged this on burningrump.

  2. December 6, 2016 at 11:35 am

    Keep it up Jon! I love reading your stuff! and this is totally a Delphi topic for me.

  3. December 6, 2016 at 12:11 pm

    Stupid way of dealing with someone that is bringing Delphi language to new battlefields.

  4. December 6, 2016 at 12:11 pm

    Do you have a link to your post on Delphi talking to node.js?

    I don’t know the context, but this sounds entirely on-topic for a Delphi group.

  5. dspreen
    December 6, 2016 at 12:39 pm

    who’s the g+ admin? I don’t understand the deletion of your post at all. Be sure that there are a lot of people who really likes und *appreciate* your work.

  6. December 6, 2016 at 1:51 pm

    Kinda hard to contribute when the filter is so narrow. I posted quite a bit of delphi articles, but — well, i just feel that if you say yes to one system and no to a similar project, that is unfair. I have no problem with on-topic groups, but then the rules must be enforced equally for all. You either have to stick with a ruleset fairly, or not at all.
    Either way, I dont see any reason to contribute either code, libraries or blogging when the slightest diversion results in a post being deleted.
    Some of the best discoveries in science are accidents, diversions, synergies. As a community we should be able to tolerate different dialects and incarnations of our mutual language.

  7. Lars Fosdal
    December 6, 2016 at 2:31 pm

    Second attempt at leaving a comment. Instead of linking to the thread where I posted, I’ll just copy what I wrote:

    Firstly, none of the moderators removes posts unless they are sure it is spam. When in doubt, they post in a private admin community, where we agree on what to do. If something else, that is not spam, is deleted – it is typically me that do that. The decision is rarely well received by the poster 😛

    Note that it is very difficult to draw a precise line in the sand here, but here is my current “filter guideline”:

    The first criteria for a post to be “acceptable”, is that the core of the post is about how to do something in Delphi.

    Random once-off posts about non-Delphi tools are OK, if they are interesting in the sense of discovery, but if the post is about how to do something in that non-Delphi tool – we are usually quite off topic. I may at times post an off-topic link to something that is not strictly Delphi related, but I would not make a second post about how to do something in that tool or context.

    Three examples:

    Expresii – written in Delphi – cool as hell. An article about how do a specific drawing technique is not interesting. An article about how Expresii interfaces with the graphics card for computing power using Delphi, would be great.

    Lazarus/FPC – Delphi compatible to a certain degree – a great FOSS alternative Pascal. Posts about MAJOR new releases may be tolerated, as long as they are truly MAJOR. Posts about minor improvements and fixes, every few months, or posts about how to do stuff – well – they have their own channels, and that is where this info belongs.

    SMS – Awesome HTML/CSS/JS cross-compiler development tool, written in Delphi. Same as for Laz/FPC. Posts about MAJOR new releases are acceptable. Posts about how to do stuff in SMS, belong in their own channels.

    IMO – a community needs focus to avoid it becoming a random chat room. If you want a random chat room, you should start one – or join an existing one – there are too many already.

    In the age of social media – focus is important. If you are interested in a tool, you follow the channels of that tool, or you follow people that write about that tool.

    This is an open community, but it doesn’t mean that it is everybody’s right to post whatever they want here. That I enforce focus in this community, is not a conspiracy to suppress other tools, but a necessity to keep the community about writing code in Delphi.

    • December 6, 2016 at 2:40 pm

      I never believed it would be a conspiracy either. But i was a bit sad that it was just removed because its not delphi – when the whole point was that node could now talk to delphi and it would be easier for delphi coders to bridge the gap. Its not like node.js is slowing down, its growing and has even started to eat into asp.net.
      Also, you have seen how hard i have worked on this for 5 years now, so i thought you of all people would understand how much it takes to keep going for so long.
      But im not going to argue. You ofcourse have the right to set whatever criteria you find best in your group. I figured the embedded stuff im doing now would enrich the group and perhaps inspire people to use delphi in new and exciting ways, that was all.
      I am not angry, nor am i a stuck up little girl – i was just taken by surprice because we have always had a good dialog, and you have some insight into how much code we are talking about. Thats all. And I have noticed that Elevate and other, similar products have been allowed to pass through the feed, so why not a product dedicated to delphi in every aspect.

  8. Lars Fosdal
    December 6, 2016 at 3:18 pm

    The comment I posted above, is in essence the same as my comments when Maciej Izak’s post was removed. I did make one mistake at the time – banning Maciej – which was uncalled for. He was unbanned the same day, though.

    I want a strict Delphi focus in the Delphi community. Wanting it is one thing – enforcing it another. It can be difficult to discern between information or advertisement at times.

    I searched for Elevate and found two posts, about a year old? So, I’m human and things may slip through, depending on my workload.

    My first comment here was rejected, and I’ve tried twice to rejoin the FB group, but have been denied twice. Your comments about my persona in the comments of the FB post was fortunately removed. If you are not angry or stuck up, that’s all fine.

    Dialog is good, so when the channels are closed, it feels weird to see public accusations fly and not be able to comment.

    • December 6, 2016 at 5:05 pm

      The FB group have 5 moderators, so. Either way, I just added you, so this should be resolved.

  9. Lars Fosdal
    December 6, 2016 at 5:56 pm

    Still no access. I guess the mods disagree. It doesn’t matter. As long as you and I have sorted things out, I have no worries.

    • December 6, 2016 at 5:57 pm

      Went in to check now. You should have access? There is no block or anything like that.

  10. Lars Fosdal
    December 6, 2016 at 6:06 pm

    Confirmed. Works now. Thank you!

  11. December 6, 2016 at 11:49 pm

    Lars once told me that even talking *about* Delphi is a bad idea, since we can’t do anything about it, so we should just post about code. 😦 That makes the community rather boring as a result and not much of a community. Taking a community that’s so small with so few posts and trying to chop it up into so many sub-categories seems pointless. It’s not like there are so many posts one can’t mentally filter out the one or two one may consider off-topic. It also doesn’t seem like anyone is complaining about your posts. I just don’t get it.

    Maybe you should start your own Google Plus group? I have an article I’ve been saving about a new collaboration among IDE developers that will allow people to use any supported language in their IDEs! Since Embarcadero hasn’t signed on yet though I guess it would be considered off-topic, even though posting it there seems like one of the best ways to find out if Embarcadero is aware of this new protocol and if they intend to support it. If it was a boring post about bit-fiddling in Delphi it would be on-topic though. 😦

    • Lars Fosdal
      December 7, 2016 at 11:39 am

      Joe, I’ve been very clear from the start that “political” discussions about Idera/EMBT policies and practices are not in scope for the community. There are official channels where such issues can be raised. At times, there will be discussions which are borderline – since we all have opinions – particularly on what is next for Delphi – but browbeating the EMBT and it’s employees is considered out of line and off topic.

      That is one of the reasons why officials from EMBT do post and comment there, since they usually don’t have to deal with discussions that are not about writing code.

      If you find the community boring, why do you bother to keep coming back and yet rarely – if ever – bother to contribute on an actual programming issue?

  12. December 6, 2016 at 11:50 pm

    Did someone hack your G+ account? Because that’s not what it says there.

    • December 7, 2016 at 12:01 am

      What says where? If you are refering to the group then I only joined that a short while ago, but i have been posting to #Delphi and #Embarcadero and several other namespaces for quite some time. So please clarify what exactly you are comparing against here.

  13. December 6, 2016 at 11:56 pm

    >The reality of 2016 is that no Delphi developer use a single language or dialect.

    Sadly, there is indeed a minority of Delphi developers for whom this applies, but you’ll usually find them posting exclusively on the Embarcadero forum… via NNTP. The web, the browser, Javascript, mobile… they’re just “fads”. 😦 I encountered one there who had never heard of type inference before, and a second who actually argued with me that it was “impossible” and “just the compiler guessing” so couldn’t possibly work.

    Every tech has its diehards.

  14. December 7, 2016 at 12:16 am

    One of the things I feel we got right with the Delphi developer group on facebook, is a kind of unity in our diversity. We have strict rules about spam, or people posting adds every odd day, bad language and bullying. Also we dont allow people to post warez or ask for pirated copies of delphi or components – that results in an immediate kick + report to Jim McKeeth or Nick Hodges.

    But the strength of the group and the amount of people posting cases on a daily basis, has to do with the diversity, all those dialects of object pascal, and that we help each other. Some may post about the latest freepascal components or features, others about some neat trick they figured out in oxygene/.net, others again post articles and how-to’s. Then we have scripting which Delphi is blessed with in abundance. Some prefer Remobjects Pascal Script, others DWScript and others again FastScript or Pax Compiler.
    We also have members who write their own languages, like the Linas compiler by Dennis Göhlert, or the FPC/Delphi based Javascript engine Besen, written by Benjamin Rosseaux.

    Every day there are questions, ideas, proposals and debate. Which to me at least is what a community is all about.

    But i have no problem with people who want a purely delphi on-topic group. But then they should apply their rules equally and fairly.
    I mean, how would it look if i removed posts by ElevateDB but allow Absolute Database to post their promotions, articles or version updates?
    That would be very unfair to elevate software, regardless of what I might feel about it. Incidentally I think ElevateDB and DBISAM are two of the best flat-file database engines ever created. But if I let Component Ace publish their stuff, then I also have to allow Elevate to do the same. Either that, or block both of them and enforce the rule fairly for all.

    But I have had a chat with Lars and we have hashed this out. It is his group after all, and ultimately his rules are what must be followed. I personally feel my line of work and the tech i target and work on needs more flexible boundaries, so I wont push the envelope on this. I have nothing personal against Lars, in fact we have always had a good tone (which is also why i became sad of the whole situation).

  1. No trackbacks yet.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: