Interesting. Not only about Delphi history, as Chuck has done so much more nice things.
His blog: removingalldoubt.com
–jeroen
Posted by jpluimers on 2015/07/08
Interesting. Not only about Delphi history, as Chuck has done so much more nice things.
His blog: removingalldoubt.com
–jeroen
Posted in .NET, C#, Delphi, Development, Software Development | 2 Comments »
Posted by jpluimers on 2015/07/08
Great post by Marjan Venema when you need to migrate your old Delphi programs to the modern Delphi world: [Wayback] 20 resources on migrating to Unicode with Delphi | Software on a String.
I’m glad that some of the links overlap with what I posted and presented in the past at:
Well done Marjan!
–jeroen
Posted in Ansi, ASCII, Delphi, Delphi 2, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Development, Encoding, Software Development, Unicode | Leave a Comment »
Posted by jpluimers on 2015/07/07
Interesting reads:
–jeroen
Posted in Communications Development, Development, https, Internet protocol suite, LifeHacker, Power User, Security, TCP, TLS | Leave a Comment »
Posted by jpluimers on 2015/07/07
The One weird trick for powerful Git aliases – Atlassian Blogs post has many great git aliases, and other Git tricks and references the below great video.
–jeroen
Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management | Leave a Comment »
Posted by jpluimers on 2015/07/02
Hoping I never need it, but just in case:
Git: Remove sensitive data using git filter-branch and the BFG Repo-Cleaner.
Anyone who knows if there are equivalents for Mercurial/Hg?
–jeroen
via:
Posted in Development, DVCS - Distributed Version Control, git, Mercurial/Hg, Source Code Management | Leave a Comment »
Posted by jpluimers on 2015/07/01
Very interesting:
Kernel object names are optional. Don’t give them a name unless you intend them to be shared.
–jeroen
via: [WayBack] You can name your car, and you can name your kernel objects, but there is a qualitative difference between the two – The Old New Thing – Site Home – MSDN Blogs.
Posted in .NET, C, C++, Delphi, Development, Software Development, The Old New Thing, Windows Development | Leave a Comment »
Posted by jpluimers on 2015/06/30
A long while ago, someone (it was too long ago, so I sincerely forgot who, it probably was in the JBuilder era) told me that I should try out Ruby and Scala.
I did take a short look at Ruby back then, but since Ruby was so focussed on Web Development, and my heart really wasn’t there, postponed it to the times that the Web would be hot for me.
Then I should have taken a look at Scala (which compiles to Java bytecode), but since I abandoned Java (JBuilder wasn’t nice, Java programming was slow and modern IDEs like IntelliJ IDEA and Eclipse weren’t there yet).
Now that I’ve done truckloads of work in the .NET and Delphi world (including domain specific languages and Pascal based products), I bumped into these Scala videos by Venkat Subramaniam:
Boy, I should have taken a look earlier: like Delphi and C# it is a statically typed compiled language, but it is on steroids.
Yes, I know it leans on the Java bytecode as a run-time platform, but so does the Android SDK as one of the Java Platforms. Contrary Ruby, which with IronRuby runs on .NET and RubyMotion runs Mac and iOS, Scala does not run on the .NET platform any more.
Given the witty way of presenting I’m surely going to follow Venkat Subramaniam and watch some of his other videos too.
Shortly after watching the above I bumped into this video by Steve Yegge (Google): Dynamic Languages Strike Back – YouTube.
–jeroen
Posted in .NET, C#, Delphi, Development, Java, Java Platform, Ruby, Scala, Software Development | 3 Comments »
Posted by jpluimers on 2015/06/25
The Performance Considerations of Class Design and General Coding in .NET – CodeProject article is a big peek into the content of the book Writing High-Performance .NET Code | Get the best performance out of your .NET code.
Both are highly recommended.
–jeroen
Posted in .NET, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Development, Software Development | Leave a Comment »
Posted by jpluimers on 2015/06/24
An eternal Dilbert strip that is based on the tiny Here’s a nickel kid. Go buy yourself a real computer fragment from single.h:
#if _FP_W_TYPE_SIZE < 32
#error "Here's a nickel kid. Go buy yourself a real computer."
#endif
Posted in *nix, ARM, Assembly Language, Delphi, Delphi 1, Development, Fun, Geeky, History, MS-DOS, Power User, Software Development, Windows, Windows 8.1, Windows 95, Windows NT, x86 | 2 Comments »
Posted by jpluimers on 2015/06/24
I’ve been doing Aspect Oriented Programming (AOP) in .NET for a long while, mostly using PostSharp LAOS as that was the first AOP .NET library I encountered (5 years ago it became PostSharp 2.0, now it is already at its 10th anniversary!).
AOP allows you to perform separate of concerns (SoC) in your application, especially in the area of cross-cutting concerns like for instance logging, authorization, monitoring, etc.
It took a while in Delphi to allow for AOP, but the TVirtualMethodInterceptor (that introduced in Delphi 2010) can be used to do AOP (only for Virtual Methods, which is still way better than having no AOP at all).
The code requires a lot of manual labor. so I was glad that DSharp (a great library by Stefan Glienke – one of the leading Spring4D contributors) contains a nice wrapper around TVirtualMethodInterceptor so you can use AOP in an attribute based fashion.
Nick Hodges recorded a good introductory video on AOP in Delphi with slides and demo code:
Note that besides DSharp, also MeAOP and Infra provided support for AOP in Delphi, but these haven’t had updates since 2010.
Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Delphi, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Development, Software Development | Leave a Comment »