Jump to content

Darian Miller

Members
  • Content Count

    583
  • Joined

  • Last visited

  • Days Won

    14

Everything posted by Darian Miller

  1. Darian Miller

    Anyone know why?

    That was a few years back, and the ability to successfully remote work is much higher today. (I remotely work full-time now with zero travel.) However, some teams insist on relocation. Being on-site can definitely improve communication, improve teamwork, improve productivity. Musk initially banned remote work at Twitter and then shortly afterwards embraced the concept as he discovered the cost savings. But, there's no "right" answer that applies to everyone...although it is definitely leaning more towards remote work today. Technology has improved and attitudes are different. But the downside for the Delphi developer that has been comfortably earning 100+k/year is now directly competing with the Brazilian or Phillipino developer earning significantly less.
  2. Darian Miller

    Anyone know why?

    Perhaps at some level, but there are practical realities. For example - are there just electricians - or some that work industrial, light commerical, some residential? You could be a residential electrician and likely work for a commercial outfit, but have to go through additional training. But perhaps the company doesn't want to train, or more likely, aren't experts at training. While they could hire an electrician that just worked on a few residential projects, there's definitely more business risk involved than hiring a licensed, experienced electrican that has worked on large industrial projects in the past. We've likely all learned one language and picked up others. But, you can certainly be an expert in one and a noob in another. For myslef, I've played with Python and can't stand it... I don't know if I could ever be productive in it. But it takes a long while to learn all the native libraries and nuances with any given platform. (New users to Visual Studio see a learning curve that wasn't nearly a decade ago.) So yes, you could treat all developers the same - but they aren't the same, not really. If you are in a pinch, a C , C++, C# developer could fit into a Delphi slot but someone that has just done Ruby on Rails would probably have a pretty hard time of it.
  3. Darian Miller

    Anyone know why?

    They seem to have been hiring Delphi devs for at least the last 10 years. I was in a similar boat a while back - trying to hire year after year. One problem for me was that I had 10 or more developers and there is always some turnover. By the time you hire a replacement and get them up to speed, you get a little break and get to do it again. Its tough finding quality Delphi developers that also want to relocate. The good developers have likely been in their same job for decade or more and are happy where they are at. The younger developers don't seem to stay in one place very long.
  4. Provide ChatGPT with table schema and ask it to generate the Delphi class, along with Create/Read/Update/Delete methods. https://www.ideasawakened.com/post/leveraging-chatgpt-to-generate-a-delphi-class-along-with-crud-code-from-a-table-schema Is there a IDE Expert or stand alone tool that does this sort of codegen?
  5. Darian Miller

    OAuth2 bearer token example?

    I just did for fun. Here's the result: Can you create an example OAuth2 bearer token example in Delphi using the THTTPClient ? Sure, here is an example of how to use the THTTPClient component in Delphi to authenticate with an OAuth2 bearer token: uses System.Net.HttpClient, System.Net.URLClient, System.NetConsts; function SendRequestWithBearerToken(const AURL: string; const AToken: string): string; var Client: THTTPClient; Request: THTTPRequest; Response: IHTTPResponse; begin Client := THTTPClient.Create; Request := THTTPRequest.Create(TNetEncoding.Base64); try Request.Method := TRESTRequestMethod.rmGET; Request.URL := AURL; Request.Headers.AddValue('Authorization', 'Bearer ' + AToken); Response := Client.Execute(Request); if Response.StatusCode = 200 then Result := Response.ContentAsString else raise Exception.CreateFmt('Request failed with HTTP error %d: %s', [Response.StatusCode, Response.StatusText]); finally Request.Free; Client.Free; end; end; In this example, the SendRequestWithBearerToken function takes two parameters: AURL: The URL of the API endpoint that you want to call. AToken: The OAuth2 bearer token that you want to use for authentication. The function creates a THTTPClient object to send the HTTP request, and a THTTPRequest object to set up the request headers. It sets the HTTP method to GET and sets the URL and Authorization header with the bearer token. Finally, it sends the request using the Execute method of the THTTPClient object and returns the response as a string. You can call this function like this: var ResponseContent: string; begin try ResponseContent := SendRequestWithBearerToken('https://api.example.com/items', 'my_bearer_token'); // Process the response content here except on E: Exception do ShowMessage('Error: ' + E.Message); end; end; Note that in this example, you would need to replace the https://api.example.com/items with the actual API endpoint you want to call, and my_bearer_token with the actual OAuth2 bearer token that you want to use for authentication.
  6. Darian Miller

    Need a "Delphi programming guideline"

    Here's one I started: https://github.com/radprogrammer/radteam/wiki/RADProgrammer-Style-Guide
  7. Darian Miller

    Delphi 11.2 unofficial LSP patch

    It's definitely a beta quality update and not intended for widespread use, but the more feedback they get the better. This has been such an annoying issue...
  8. Darian Miller

    Default(TMyRec) usage

    Given a record with managed elements such as TExampleRec = Record Example1:Integer; Example2:String; End; When declaring and using a local variable, do you always use Default(TExampleRec) even when you know you will be setting each field? Procedure MyTest; var x:TExampleRec; begin x := Default(TExampleRec); x.Example1 := 202; x.Example2 := 'Test'; DoSomething(x); end; I've been in the habit of using Default(xxx) on record initialization since it was introduced (in 2009?) I'm wondering what others do. Pretty much the really ancient code used record pointers and New/Dispose and I slowly moved away from that for most things.
  9. Darian Miller

    Default(TMyRec) usage

    Does it do that with records? I wasn't aware of that optimization.
  10. Darian Miller

    Delphi beta testing a "premium" privilege?

    The support page states "Regular online meetings with the product team and individual company roadmap sessions" So premium support is, in part, to pay for individual roadmap sessions.
  11. Darian Miller

    Delphi beta testing a "premium" privilege?

    Marco stated in the 11.2 Release Webinar that Embarcadero does not have any current plans to publish a new roadmap. I assume the new idea is ... if you want any kind of roadmap, pay for it by buying Premium Support. A grouping of roadmap items can be found here: https://github.com/ideasawakened/DelphiKB/wiki/Future-Releases-for-RAD-Studio-and-Delphi
  12. Check out the study guides, available on the academy page: https://www.embarcaderoacademy.com/p/delphi-developer-certification-exam https://www.embarcaderoacademy.com/p/delphi-certified-master-developer-exam Also direct downloads: https://www.danysoft.com/estaticos/free/delphi-developer-certification-study-guide.pdf https://www.embarcadero.com/images/dm/technical-papers/delphi-master-developer-certification-study-guide.pdf Advice: Keep a copy of Delphi running with a simple Hello World application opened. Keep a copy of the Help open Some of the questions are just too easy...some are too obscure and you'll have to look them up, or if you are quick enough, run a quick test to help define the expected results of a particular question.
  13. Darian Miller

    Nasty Parallel Programming Library bug - please vote

    Can you provide a test program to replicate it?
  14. Darian Miller

    Latetst support SQLITE version in Delphi 11.x

    FireDAC provides SQLite binaries v 3.31.1 in the latest version of RAD Studio https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Connect_to_SQLite_database_(FireDAC) You should be able to use the latest version with dynamic linking without issue but there's always a chance that FireDAC needs an update to work with some brand new feature - do you have specific requirements?
  15. Darian Miller

    After Update 11.2 libsqlite.a not found IOS

    There's a QP issue for this: https://quality.embarcadero.com/browse/RSP-39164
  16. Darian Miller

    function returning interface

    FWIW, 11.2 is also: Begin Create Destroy Create Destroy End
  17. Darian Miller

    The Delphi 11.2 release thread

    I assume you'll have to wait a few more years. Even if they introduce new refactoring in the next release, it won't be feature complete or stable for awhile.
  18. Darian Miller

    The Delphi 11.2 release thread

    Curious - I didn't have to re-install GetIt packages on the 11.2 upgrade. Perhaps because I installed them to a custom directory? I ran 11.2 installed, let it uninstall previous version and keep reg settings, and it installed 11.2 while my GetIt Packages remained installed/operational.
  19. Darian Miller

    Anyone using an open-source ORM?

    If I just getting started with the ORM, I would use the one that has been around a long time and heavily tested. V2 still has this in the readme: "WARNING: This set of units is still a work-in-progress, and not yet ready for production."
  20. Darian Miller

    Anyone using an open-source ORM?

    Try mORMot: https://github.com/synopse/mORMot
  21. Darian Miller

    Flash when showing form with VCL Styles

    Many have struggled with VCL Styles since they were introduced. They may work in simple cases, but I have personally lost a number of hours of dev time due to this issue. I would try to set the .UseParentPaintBuffers property to True and re-test your style flicker. There is a little info on it at the bottom of this page: https://docwiki.embarcadero.com/RADStudio/Sydney/en/VCL_Styles_Support_for_High-DPI_Graphics
  22. Darian Miller

    Flash when showing form with VCL Styles

    There have been multiple conversations about flickering over the last few releases...there might be multiple issues still needing to be addressed but here are a few: Error in VCL TWinControl.WMEraseBkgnd causes flickering https://quality.embarcadero.com/browse/RSP-24415 VCL Themes - Flicker when resizing https://quality.embarcadero.com/browse/RSP-30639 They have fixed a number of issues, like this one: https://quality.embarcadero.com/browse/RSP-31158
  23. Darian Miller

    Your experience with custom styles - do they work well?

    The VCL styles are getting better after each release...however, it seems like they are nearly always "almost there" For earlier versions of Delphi, I imagine that many devs relied on the fixes found here: https://github.com/RRUZ/vcl-styles-utils However, with the newer versions containing many changes/improvements, it is currently debateable if that repo is applicable to RAD Studio 11 anymore.
  24. Delphi has the longest "Average years of professional experience" but a horrifc Median salary. In the U.S. you should be getting at least $100k as a Delphi developer with more than two years experience. $120k should be negotiated for an experienced Delphi developer (although I have recently seen people trying to get away with hiring Delphi devs at $60k in the U.S. which is why they cannot find anyone to fill the positions.)
×