-
Content Count
583 -
Joined
-
Last visited
-
Days Won
14
Everything posted by Darian Miller
-
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.
-
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.
-
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.
-
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?
-
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.
-
Here's one I started: https://github.com/radprogrammer/radteam/wiki/RADProgrammer-Style-Guide
-
Delphi 11.2 unofficial LSP patch
Darian Miller replied to Brandon Staggs's topic in Delphi IDE and APIs
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... -
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.
-
Default(TMyRec) usage
Darian Miller replied to Darian Miller's topic in RTL and Delphi Object Pascal
Does it do that with records? I wasn't aware of that optimization. -
Delphi beta testing a "premium" privilege?
Darian Miller replied to Brandon Staggs's topic in Tips / Blogs / Tutorials / Videos
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. -
Delphi beta testing a "premium" privilege?
Darian Miller replied to Brandon Staggs's topic in Tips / Blogs / Tutorials / Videos
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 -
The Delphi Certified Developer // To prepare for the exam
Darian Miller replied to skyzoframe[hun]'s topic in Tips / Blogs / Tutorials / Videos
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. -
Nasty Parallel Programming Library bug - please vote
Darian Miller replied to eivindbakkestuen's topic in RTL and Delphi Object Pascal
Can you provide a test program to replicate it? -
Latetst support SQLITE version in Delphi 11.x
Darian Miller replied to emileverh's topic in Databases
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? -
Job Offer - 5 Delphi Devs for bit Time Professionals
Darian Miller replied to Daniele Teti's topic in Job Opportunities / Coder for Hire
Is that a typo? -
After Update 11.2 libsqlite.a not found IOS
Darian Miller replied to schaumermal's topic in Cross-platform
There's a QP issue for this: https://quality.embarcadero.com/browse/RSP-39164 -
FWIW, 11.2 is also: Begin Create Destroy Create Destroy End
-
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.
-
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.
-
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."
-
Try mORMot: https://github.com/synopse/mORMot
-
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
-
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
-
Your experience with custom styles - do they work well?
Darian Miller replied to Tom F's topic in VCL
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. -
2022 StackOverflow dev survey - salary results
Darian Miller posted a topic in Tips / Blogs / Tutorials / Videos
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.)