Archive for the ‘Development’ Category
Posted by jpluimers on 2019/05/28
Since I keep forgetting this piece of IDE Fix Pack 5.92 released – DelphiFeeds.com
The new version 5.92 now binds
- Ctrl+Alt+Enter to “Find References” and introduces
- Shift+Ctrl+Alt+Enter for “Find Local References”.
No shortcut toggling anymore.
–jeroen
Posted in Delphi, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2019/05/28
Recommended read: [WayBack] Clean Code is a team sport! – writeabout.net.
The picture is of a developer journey taking years to go from fresh to seasoned ending up at exactly the same code: over time learning the sweet spot of coding.
The story continues correlating that journey to handling technical debt and finding the sweet spot between that and business value.
via:
–jeroen

Twitter
Posted in Agile, Code Quality, Code Review, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2019/05/23
Most code I come across is in the red zone, exactly depicting why you want immutable constructs. Immutable constructs will never end-up in the red zone.

Image: [WayBack] Wayback Machine.
The red zone is just one quadrant on the mutability/shareability diagram and getting outside that red zone quadrant is key.
With processor cores now becoming ubiquitous: you cannot get outside of the “Shard” half, so you have to get outside of the “Mutable” half.
Explaining the why and how, is part of a few presentations that Kevlin Henney gave:
Related YouTube videos are below.
–jeroen
Read the rest of this entry »
Posted in Conference Topics, Conferences, Development, Event, Multi-Threading / Concurrency, Software Development | Leave a Comment »
Posted by jpluimers on 2019/05/23
Too bad G+ doesn’t allow the WayBack machine or Archive.is to archive the whole thread at [WayBack] [Archive.is] Das es inzwischen fast überall Standard ist die Uhren mit einem guten Zeitsignal zu synchronisiseren (NTP, DCF-77, GPS etc) ist eigentlich eine gute Sache… – Kristian Köhntopp – Google+ so here are a few quotes below.
The generatel conclusions seem to be that:
- for most jobs, especially the ones on dynamic instances like containers, you need some form of jitter
- jitter can have other words like splay
- even absolute times are no guarantee against jitter
- you can do jitter on many levels/tools, for instance:
- ensure the jitter is part of the contract between the systems producing and consuming data
This was the start:
Nils Ketelsen originally shared:
Guckt man live sieht es schon anders aus: Während die RunQueue meist so bei 4-5 liegt (bei 21vCPUs kein Problem) springt sie jede volle Minute einige Sekunden lang auf 20. Bei durch 2 Teilbaren Minuten auf ca. 40. Bei durch 10 Teilbaren Minuten auf 70, bei durch 15 teilbaren Minuten auf 150…. Ich habe eben durch einen schlecht getimten Toilettenbesuch die volle Stunde verpasst, das muss ich gleich mal anders hinbekommen, aber ich gehe davon aus, daß es da noch schlimmer ist.
And these some of the comments:
Read the rest of this entry »
Posted in *nix, *nix-tools, Algorithms, cron, Development, Power User, Software Development | Leave a Comment »
Posted by jpluimers on 2019/05/22
Since I always forget that IN and EXISTS have very different performance characteristics: [WayBack] sql – How to Select Every Row Where Column Value is NOT Distinct – Stack Overflow
Less slow
select emailaddress,customername from customers where emailaddress in
(select emailaddress from customers group by emailaddress having count(*) > 1)
Slow
select emailaddress,customername from Customers a where exists
(select emailaddress from customers c where a.customerName != c.customerName and a.EmailAddress = c.EmailAddress)
–jeroen
Posted in Database Development, Development, Software Development, SQL | Leave a Comment »
Posted by jpluimers on 2019/05/22
Thanks Ondrej Kelle for answering this:
uses
System.SysUtils,
Web.HTTPApp,
Soap.WebBrokerSOAP;
function TTest.CallMe: string;
var
WebDispatcher: IWebDispatcherAccess;
begin
Result := '';
if Supports(GetSOAPWebModule, IWebDispatcherAccess, WebDispatcher) then
Result := Format('You are calling me from: %s', [WebDispatcher.Request.RemoteIP]);
end;
Source: [WayBack] web services – Accessing the original TWebRequest object in a Delphi SOAP Server – Stack Overflow
–jeroen
Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development | Leave a Comment »