Jump to content

Darian Miller

Members
  • Content Count

    560
  • Joined

  • Last visited

  • Days Won

    12

Everything posted by Darian Miller

  1. Darian Miller

    Using Delphi in Virtual machine for a month

    I've been using Delphi in a VM for a number of years utilizing VMWare Workstation and I believe it runs really well. It sounds like a VMWare settings / allocation issue. Couple pointers: - Do not utilize 'thin-provisioned' disks. Pre-allocate the assigned space otherwise you'll get sporadic speed issues as the disk increases in size. - Exclude the directory on the host machine where your VM files are stored from realtime AV scanning. If you cannot exclude a specific folder (like McAfee), get a different AV. - Don't try to assign too much RAM to the VM. Test scaling it back from 12GB to 10 and then 8. I have 64GB RAM in the host and only allocate 8GB to my Delphi VM. - Use SCSI virtual disks - Display: Accelerate 3D Graphics + assign a decent amount of graphics memory (1GB) - The more snapshots of a VM, the worse the performance seems. Make physical backups instead and get rid of your snapshots. - I periodically defragment the virtual disks within VMWare (https://docs.vmware.com/en/VMware-Workstation-Pro/15.0/com.vmware.ws.using.doc/GUID-BD914064-D20D-4032-9373-88F4DA7AE7C6.html) Some items I don't use, not sure on the performance benefit - Don't use the built-in Shared Folders - Don't use the built-in auto-protect - Don't sync time with host If you can swing it - use NVMe disk instead of SSD.
  2. https://community.idera.com/developer-tools/b/blog/posts/august-2019-delphi-android-beta-plans-august-roadmap-update Here’s what’s planned for 10.3.3: Platform Enhancements iOS 13 & macOS Catalina Support RAD Server Deployment with Docker C++ Expand C++ libraries support Delphi Android 64-bit platform support User Experience Further IDE UI/UX Improvements New Downloads/Licensing Portal Quality Focus Areas App Tethering for VCL and FMX IDE Quality C++ Toolchain performance and quality improvements With the addition of 10.3.3 this fall, we’re now planning the 10.4 release for early in 2020. As outlined in our May 2019 PM roadmap commentary blog post, 10.4 is going to focus on improved code tooling, language enhancements, VCL High DPI styles, RAD Server enhancements, FireMonkey features and quality and more.
  3. Darian Miller

    August 2019 Roadmap released

    I strongly believe that it's something for everyone to consider. I'm 50-something in the MidWest and left my well paying job early this year for similar reasons. (I 'fired' my employer.) It's also related to a basic rule in life: Never work a job that you don't like. Think of the percentage of your life which is spent at/on work related activities, and if you aren't enjoying it and/or cannot stand the choices management is making and it's eating at your soul, then it makes no sense to stay there. Now, you certainly will always have minor annoyances, as no job is going to be perfect. And you may have to take a shit-job on occasion for special circumstances for a limited time, but it's a general rule that I've preached all my life (as my father before me.) If you are in a job that you don't like, declare it as a shit-job that's allowed to continue for a limited amount of time and find an alternative. I loved the vast majority of my previous job (and certainly disliked some parts) and I would have stayed, however the new private-equity installed board handcuffed me and my team where I simply couldn't do my job so I had to leave. I certainly have a distaste for private-equity types like the ones that have purchased Delphi and massively cut the R&D staff. They actually believe they can rely on cheap foreign developers for most of the work and the quality which is being produced today should provide ample proof that their plan is seriously flawed. But, they'll keep plugging away as the numbers likely look better with the much lower costs. And meanwhile we'll get repeated bad installs, required hotfixes after every single release (2 more today!), long-term infrastructure failures that should be a career embarrassment for everyone involved, platform support always putting out fires, and less and less core reliability. That's certainly not a successful long-term plan - so I assume their plan is to sell after showing large increases in bottom line due to all the cuts. But back to the job issue - I think it would be better to work for yourself. I'll never have another boss again. I ran my own side business for 7 years and sold it after the Great Recession was over so I could concentrate on my corporate job. Running your own business is not for everyone though as you have to be able to manage the risk.
  4. Darian Miller

    August 2019 Roadmap released

    Sorry, I'm a Right is Right type person. Who wants to work for management that doesn't listen to logic? Better for your career to leave... You can put up with losing some battles, but to stay and watch them gut the place would be extremely difficult.
  5. Darian Miller

    August 2019 Roadmap released

    Totally agree. It's all related to short changing the infrastructure and R&D budgets in order to 'save money' which in actually costs them a lot more than what they are 'saving' - it's just harder to calculate so the guys running their spreadsheets don't put it in.
  6. Darian Miller

    August 2019 Roadmap released

    "Paying the piper" comes to mind. They cut R&D too deeply and will suffer the consequences. Sometimes you have to tell the money people NO. You always need someone on staff that has the cojonnes or influence to do the right thing versus the least expensive thing.
  7. Darian Miller

    New project with embedded browser

    I'm starting a new Windows desktop application project (VCL or FMX not yet decided) and one of the functionality requirements is a built-in web browser. Is CE4 the way to go these days? https://github.com/salvadordf/CEF4Delphi It's been a long while since I last integrated a browser into a Delphi app and would appreciate any pointers. Functionality includes navigating to saved links and saving HTML source/images of visited pages. Thanks, Darian
  8. You should publish the example source and define which version of Indy and Delphi
  9. Darian Miller

    looking for design ideas for an easily editable list

    Depending on the count of items...you could use a list of dynamically created frames within a scroll box. Each frame has your checkbox/memo and you add a way to Add/Edit/Delete items. I've done this a few times with success.
  10. Darian Miller

    Best way to check if an internet SMTP server is available?

    Mailservers are run by inbound and outbound queues. One of their main jobs is to handle this issue. If you are writing a mail server then you are required to properly manage outbound mail queues. If you are sending a message, just send it unless there is some industry specific requirement for non-standard email delivery.
  11. Ok. But can you (or anyone) actually list all changes which are included that are applicable for 10.3.2?
  12. You can certainly vote and buy him a subscription if you think it would help. Or start a pool and contribute to it. He can perhaps use the community edition for free if he wants. It's always been a sparsely documented hodge-podge list of fix attempts that I have refused to use. Embarcadero now has full source and have stated they will implement what they believe are safe fixes. That's good enough for me.
  13. Exactly - installing the IDE Fix Pack today makes no sense.
  14. Does anyone actually have a clue on which fixes are left to be implemented? Where is this list of items needing to be addressed in 10.3.2?
  15. I've been mostly living under a rock for a number of months... I just came out and installed my brand new copy of 10.3.1 and quickly went to lunch while it installed. I came back and noticed the familiar Java update pending notice and started quickly clicking to get it updated before jumping into some dev work. I then noticed the Updated License Terms screen and the "This version of the Java Runtime is licensed only for your personal (non commercial) desktop and laptop use." disclaimer. Has this topic been beat to death yet? : ) Links please! Seriously though - for commercial Delphi android development, does Embarcadero cover our commercial license with whatever bundled license they have, or do we need to go direct to Oracle?
  16. Darian Miller

    Java Updated License Terms and Delphi

    I just installed Delphi 10.3.2 and noted that the version of the JDK provided was Version 8 / Update 60 (8u60) build: 1.8.0_60-b27 which was originally released Aug 18, 2015. Given the list of vulnerabilities discovered over the last 4 years, I assume Embarcadero is actively working on replacing the included Java version to a much more recent OpenJDK. Their quality portal is down again tonight, but I'll likely create a request to get this ancient Java version updated in future versions of Delphi.
  17. Darian Miller

    Best practices for system migration?

    I'd recommend putting Delphi into a VM (top 2 choices probably are VMWare Workstation and VirtualBox for Windows and Parallels for Mac) This is what I do: Always maintain a base Windows 10 VM. Keep updates current and have some basic tools installed (7-zip, WinMerge, GIT/SVN clients.) Set computername to something like "Win10Base" Then, for each new Delphi update / version: - Create a full clone of Win10Base - Initially create a virtual drive F disk for Dev projects, then later copy/move the Drive F virtual disk from the previous VM and attach to the new VM - Copy C:\programdata\embarcadero from the last VM to this new clone. (Suggest that you keep a copy of this folder on your DEV drive within your repos) - Change the newly created computer name to match the last VM/standard dev computer name, like "YourNameDelphiVM" and reboot - Create a fresh virtual drive G for each new IDE install. (20-30GB needed depending on which features you install) - Install Delphi to drive G:\ from an attached full install ISO - Ideally your Delphi folders are also in VCS and you can update your repo with the latest install. (I imagine most don't keep Delphi installs in version control though.) I currently utilize a networked named user license and have a separate VM running the local license server which I start up before installing the new Delphi version...there are no more license bump requests with this method. The license costs the same and you can try to get your license converted to this for no extra cost on your next renewal. The License is tied to computername + username so if you keep these the same, then the copy of the slip files in "C;\programdata\embarcadero" works just fine. If you have a bunch of third party components, then it becomes much more of a hassle especially if these components have license protection mechanisms. All of your components' source should be on your DEV drive within your repos. You should have a versioned config script for component registration/library path config. There are plenty of conversations about component management - probably the best approach, if you can pull it off, is to only have all components configured on a per-project basis and have a pretty bare library path in the IDE. Ideally you should have something like a ConfigureDelphi.bat that you can run on each new install. I use this for setting all the options that I used to manually change on every new Delphi version.... how many times after a new Delphi install do you immediately launch Delphi and go into Tools->Options and do the same things like disable Error Insight, set your right margin, set the editor font, and all those custom settings which you MUST have in order to code properly? : )
  18. Darian Miller

    EmptyString constant

    Introducing a duplicate constant instead of leveraging a built-in system constant is bad code unless there's a strong reason for the duplication. To add a wrinkle....for years I used a method IsEmptyString() which would look for '' or just space(s). We considered space character(s) to qualify as an "empty" string. It all depends on what your definition of an EmptyString is within the current context.
  19. Darian Miller

    Bad build a mystery

    You could perhaps try adding more new forms/modules until it runs. You could also open a trouble ticket with Embarcadero, but they would likely want to see your entire project. Most maintainers of huge projects shudder at the idea of handing over the entire thing, and there's no way for Embarcadero to repeat it otherwise. I'm sure you've done a full project folder clean already. It sure seems like a resource issue - add some extra items to the project .res or re-verify all custom resource items? Paging @Marco Cantu - any ideas?
  20. Darian Miller

    Bad build a mystery

    The only thing left for me to suggest is to step through each and every initialization section until you find one that blows chunks. I'd do a debug build (without system DCUs first) and then step through (F7) until you hit the main form display or you get an exception. I love a good mystery! Sorry, I know it's much more fun on this end...
  21. Darian Miller

    Delphi 10.3 Update 2 available

    Agreed - but you replied to my message about the side topic of requiring to be on an active subscription to get a bump. It truly doesn't matter...moving on as we could do this all day! : )
  22. Darian Miller

    Delphi 10.3 Update 2 available

    Sorry, but that was not the issue. By far, the largest concerns were over customers being told that they could not get a bump unless they had an active subscription. The bumps have always been way too slow to arrive so an extra slowdown was a minor factor. Not getting a bump at all was the main outcry. This is an example of what customers were being told: "We received your request to increase the registration limit for your serial number XXXXXXX. Unfortunately, there is not an active support and maintenance agreement for this license. Licenses without active maintenance are not eligible for technical support and this includes increasing the registration limit for your license. Historically, we provided limited support for activities such as changing registration limits as a courtesy. However, this courtesy required time and resources to support. As we now include maintenance with every new license and encourage customers to remain current on maintenance, we changed our support policy to align with industry standards. Going forward any support services requested will only be provided for licenses with active support and maintenance." It was covered here:
  23. Darian Miller

    Bad build a mystery

    I experienced a similar problem a while ago. From what I recall, it was a bad binary DFM which had to be isolated/corrected. For some reason, that experience came back to me after seeing your response. (Too many bad memories that have been suppressed!) I believe it turned out to be an ancient form (or two) that we hadn't changed in a very long time. Unfortunately I don't remember exactly how I found it among the many hundreds of forms in the project. I do remember searching for all binary DFMs and I believe I used the tool to auto-convert all the binary DFMs to text and it blew chunks on a bad DFM. It was either that or I manually opened all binary DFMs until I ran into a problem opening the form within the IDE. (It compiled fine and didn't cause errors in the app until some magic moment in time.) It was a few hours of head scratching for sure... Good luck!
  24. Darian Miller

    Delphi 10.3 Update 2 available

    The uproar over registration bumps has seemed to die down. I imagine they have stopped telling customers that they need to be current to get a bump?
  25. Darian Miller

    Bad build a mystery

    Just spit balling here - but add a new unit, save the project and do a file compare of the DPR + DPROJ files... anything odd?
×